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

SCM Repository

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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1928 - (download) (annotate)
Sat Jun 23 18:09:34 2012 UTC (7 years, 3 months ago) by jhr
File size: 1312804 byte(s)
  converting to use "image" instead of "load" for image nrrd loading
/* 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)];
vec2 v20 = [unary -<$[]> (0.5e0), 0.0];
vec2 v21 = [unary -<$[]> (0.5e0), 0.25e0];
vec2 v22 = [unary -<$[]> (0.5e0), 0.5e0];
vec2 v23 = [unary -<$[]> (0.5e0), unary -<$[]> (0.25e0)];
vec2 v24 = [unary -<$[]> (0.5e0), 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))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v20), •<$[2]; $[2]; $[]> (r1, v20)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v20, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v20)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v20))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v21), •<$[2]; $[2]; $[]> (r1, v21)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v21, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v21)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v21))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v22), •<$[2]; $[2]; $[]> (r1, v22)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v22, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v22)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v22))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v23), •<$[2]; $[2]; $[]> (r1, v23)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v23, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v23)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v23))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v24), •<$[2]; $[2]; $[]> (r1, v24)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v24, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v24)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v24))));
      }
    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;
  vec2 v2000D6;
  vec2 v2100D8;
  vec2 v2200DA;
  vec2 v2300DC;
  vec2 v2400DF;
  _t03ED = bspln30095 ();
  _t03EE = "square-template.nrrd";
  _t03EF = load0080<%2; $[]> (_t03EE);
  T00A3 = ⊛003A<#2; %2; $[]> (_t03ED, _t03EF);
  _t03F0 = bspln30095 ();
  _t03F1 = "square-rotate.nrrd";
  _t03F2 = load0080<%2; $[]> (_t03F1);
  F00AC = ⊛003A<#2; %2; $[]> (_t03F0, _t03F2);
  _t03F3 = 0.0;
  _t03F4 = 0.0;
  v0000B5 = [_t03F3, _t03F4];
  _t03F5 = 0.0;
  _t03F6 = 0.25e0;
  v0100B6 = [_t03F5, _t03F6];
  _t03F7 = 0.0;
  _t03F8 = 0.5e0;
  v0200B7 = [_t03F7, _t03F8];
  _t03F9 = 0.0;
  _t03FA = 0.25e0;
  _t03FB = unary -004D<$[]> (_t03FA);
  v0300B8 = [_t03F9, _t03FB];
  _t03FC = 0.0;
  _t03FD = 0.5e0;
  _t03FE = unary -004D<$[]> (_t03FD);
  v0400BA = [_t03FC, _t03FE];
  _t03FF = 0.25e0;
  _t0400 = 0.0;
  v0500BC = [_t03FF, _t0400];
  _t0401 = 0.25e0;
  _t0402 = 0.25e0;
  v0600BD = [_t0401, _t0402];
  _t0403 = 0.25e0;
  _t0404 = 0.5e0;
  v0700BE = [_t0403, _t0404];
  _t0405 = 0.25e0;
  _t0406 = 0.25e0;
  _t0407 = unary -004D<$[]> (_t0406);
  v0800BF = [_t0405, _t0407];
  _t0408 = 0.25e0;
  _t0409 = 0.5e0;
  _t040A = unary -004D<$[]> (_t0409);
  v0900C1 = [_t0408, _t040A];
  _t040B = 0.5e0;
  _t040C = 0.0;
  v1000C3 = [_t040B, _t040C];
  _t040D = 0.5e0;
  _t040E = 0.25e0;
  v1100C4 = [_t040D, _t040E];
  _t040F = 0.5e0;
  _t0410 = 0.5e0;
  v1200C5 = [_t040F, _t0410];
  _t0411 = 0.5e0;
  _t0412 = 0.25e0;
  _t0413 = unary -004D<$[]> (_t0412);
  v1300C6 = [_t0411, _t0413];
  _t0414 = 0.5e0;
  _t0415 = 0.5e0;
  _t0416 = unary -004D<$[]> (_t0415);
  v1400C8 = [_t0414, _t0416];
  _t0417 = 0.25e0;
  _t0418 = unary -004D<$[]> (_t0417);
  _t0419 = 0.0;
  v1500CA = [_t0418, _t0419];
  _t041A = 0.25e0;
  _t041B = unary -004D<$[]> (_t041A);
  _t041C = 0.25e0;
  v1600CC = [_t041B, _t041C];
  _t041D = 0.25e0;
  _t041E = unary -004D<$[]> (_t041D);
  _t041F = 0.5e0;
  v1700CE = [_t041E, _t041F];
  _t0420 = 0.25e0;
  _t0421 = unary -004D<$[]> (_t0420);
  _t0422 = 0.25e0;
  _t0423 = unary -004D<$[]> (_t0422);
  v1800D0 = [_t0421, _t0423];
  _t0424 = 0.25e0;
  _t0425 = unary -004D<$[]> (_t0424);
  _t0426 = 0.5e0;
  _t0427 = unary -004D<$[]> (_t0426);
  v1900D3 = [_t0425, _t0427];
  _t0428 = 0.5e0;
  _t0429 = unary -004D<$[]> (_t0428);
  _t042A = 0.0;
  v2000D6 = [_t0429, _t042A];
  _t042B = 0.5e0;
  _t042C = unary -004D<$[]> (_t042B);
  _t042D = 0.25e0;
  v2100D8 = [_t042C, _t042D];
  _t042E = 0.5e0;
  _t042F = unary -004D<$[]> (_t042E);
  _t0430 = 0.5e0;
  v2200DA = [_t042F, _t0430];
  _t0431 = 0.5e0;
  _t0432 = unary -004D<$[]> (_t0431);
  _t0433 = 0.25e0;
  _t0434 = unary -004D<$[]> (_t0433);
  v2300DC = [_t0432, _t0434];
  _t0435 = 0.5e0;
  _t0436 = unary -004D<$[]> (_t0435);
  _t0437 = 0.5e0;
  _t0438 = unary -004D<$[]> (_t0437);
  v2400DF = [_t0436, _t0438];
}
Array
  {
    _t0624 = 0;
    _t0625 = 60;
    _t0626 = 0;
    _t0627 = 60;
    _t0628 = 0;
    _t0629 = 60;
  }
  for int i03EA = _t0624 .. _t0625
    for int j03EB = _t0626 .. _t0627
      for int k03EC = _t0628 .. _t0629
        { }
        new R(i03EA, j03EB, k03EC);
strand R (int i00E4, int j00E3, int k00E2)
{{
    vec3 t00E5;
    output real score00E9;
    vec2 r000EA;
    vec2 r100EB;
    vec2 pos00EC;
    _t0439 = $i2r009B (i00E4);
    _t043A = 0.60e2;
    _t043B = /002A (_t0439, _t043A);
    _t043C = 0.5e0;
    _t043D = -0016<$[]> (_t043B, _t043C);
    _t043E = $i2r009B (j00E3);
    _t043F = 0.60e2;
    _t0440 = /002A (_t043E, _t043F);
    _t0441 = 0.5e0;
    _t0442 = -0016<$[]> (_t0440, _t0441);
    _t0443 = $i2r009B (k00E2);
    _t0444 = 0.60e2;
    _t0445 = /002A (_t0443, _t0444);
    _t0446 = 0.5e0;
    _t0447 = -0016<$[]> (_t0445, _t0446);
    t00E5 = [_t043D, _t0442, _t0447];
    score00E9 = 0.0;
    _t0448 = 0.0;
    _t0449 = 0.0;
    r000EA = [_t0448, _t0449];
    _t044A = 0.0;
    _t044B = 0.0;
    r100EB = [_t044A, _t044B];
    _t044C = 0.0;
    _t044D = 0.0;
    pos00EC = [_t044C, _t044D];
  }
  Update
  {
    _t044E = 0.1e1;
    _t044F = 0.2e1;
    _t0450 = 2;
    _t0451 = t00E5[_t0450];
    _t0452 = *001C (_t044F, _t0451);
    _t0453 = 2;
    _t0454 = t00E5[_t0453];
    _t0455 = *001C (_t0452, _t0454);
    _t0456 = -0016<$[]> (_t044E, _t0455);
    _t0457 = 0.2e1;
    _t0458 = unary -004D<$[]> (_t0457);
    _t0459 = 0.1e1;
    _t045A = 2;
    _t045B = t00E5[_t045A];
    _t045C = 2;
    _t045D = t00E5[_t045C];
    _t045E = *001C (_t045B, _t045D);
    _t045F = -0016<$[]> (_t0459, _t045E);
    _t0460 = sqrt0091 (_t045F);
    _t0461 = *001C (_t0458, _t0460);
    _t0462 = 2;
    _t0463 = t00E5[_t0462];
    _t0464 = *001C (_t0461, _t0463);
    r000EA = [_t0456, _t0464];
    _t0465 = 0.2e1;
    _t0466 = 0.1e1;
    _t0467 = 2;
    _t0468 = t00E5[_t0467];
    _t0469 = 2;
    _t046A = t00E5[_t0469];
    _t046B = *001C (_t0468, _t046A);
    _t046C = -0016<$[]> (_t0466, _t046B);
    _t046D = sqrt0091 (_t046C);
    _t046E = *001C (_t0465, _t046D);
    _t046F = 2;
    _t0470 = t00E5[_t046F];
    _t0471 = *001C (_t046E, _t0470);
    _t0472 = 0.1e1;
    _t0473 = 0.2e1;
    _t0474 = 2;
    _t0475 = t00E5[_t0474];
    _t0476 = *001C (_t0473, _t0475);
    _t0477 = 2;
    _t0478 = t00E5[_t0477];
    _t0479 = *001C (_t0476, _t0478);
    _t047A = -0016<$[]> (_t0472, _t0479);
    r100EB = [_t0471, _t047A];
    _t047B = •0079<$[2]; $[2]; $[]> (r000EA, v0000B5);
    _t047C = •0079<$[2]; $[2]; $[]> (r100EB, v0000B5);
    _t047D = [_t047B, _t047C];
    _t047E = 0;
    _t047F = t00E5[_t047E];
    _t0480 = 1;
    _t0481 = t00E5[_t0480];
    _t0482 = [_t047F, _t0481];
    pos00EC = +000F<$[2]> (_t047D, _t0482);
    bool _t0483;
    _t0484 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0484
      _t0483 = inside007D<#2; %2; $[]> (v0000B5, T00A3);
    else
      _t0483 = false;
    if _t0483 {
      _t0485 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0486 = @0060<#2; %2; $[]> (T00A3, v0000B5);
      _t0487 = -0016<$[]> (_t0485, _t0486);
      _t0488 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0489 = @0060<#2; %2; $[]> (T00A3, v0000B5);
      _t048A = -0016<$[]> (_t0488, _t0489);
      _t048B = *001C (_t0487, _t048A);
      score00E9 = +000F<$[]> (score00E9, _t048B);
    }
    _t048C = •0079<$[2]; $[2]; $[]> (r000EA, v0100B6);
    _t048D = •0079<$[2]; $[2]; $[]> (r100EB, v0100B6);
    _t048E = [_t048C, _t048D];
    _t048F = 0;
    _t0490 = t00E5[_t048F];
    _t0491 = 1;
    _t0492 = t00E5[_t0491];
    _t0493 = [_t0490, _t0492];
    pos00EC = +000F<$[2]> (_t048E, _t0493);
    bool _t0494;
    _t0495 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0495
      _t0494 = inside007D<#2; %2; $[]> (v0100B6, T00A3);
    else
      _t0494 = false;
    if _t0494 {
      _t0496 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0497 = @0060<#2; %2; $[]> (T00A3, v0100B6);
      _t0498 = -0016<$[]> (_t0496, _t0497);
      _t0499 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t049A = @0060<#2; %2; $[]> (T00A3, v0100B6);
      _t049B = -0016<$[]> (_t0499, _t049A);
      _t049C = *001C (_t0498, _t049B);
      score00E9 = +000F<$[]> (score00E9, _t049C);
    }
    _t049D = •0079<$[2]; $[2]; $[]> (r000EA, v0200B7);
    _t049E = •0079<$[2]; $[2]; $[]> (r100EB, v0200B7);
    _t049F = [_t049D, _t049E];
    _t04A0 = 0;
    _t04A1 = t00E5[_t04A0];
    _t04A2 = 1;
    _t04A3 = t00E5[_t04A2];
    _t04A4 = [_t04A1, _t04A3];
    pos00EC = +000F<$[2]> (_t049F, _t04A4);
    bool _t04A5;
    _t04A6 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t04A6
      _t04A5 = inside007D<#2; %2; $[]> (v0200B7, T00A3);
    else
      _t04A5 = false;
    if _t04A5 {
      _t04A7 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04A8 = @0060<#2; %2; $[]> (T00A3, v0200B7);
      _t04A9 = -0016<$[]> (_t04A7, _t04A8);
      _t04AA = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04AB = @0060<#2; %2; $[]> (T00A3, v0200B7);
      _t04AC = -0016<$[]> (_t04AA, _t04AB);
      _t04AD = *001C (_t04A9, _t04AC);
      score00E9 = +000F<$[]> (score00E9, _t04AD);
    }
    _t04AE = •0079<$[2]; $[2]; $[]> (r000EA, v0300B8);
    _t04AF = •0079<$[2]; $[2]; $[]> (r100EB, v0300B8);
    _t04B0 = [_t04AE, _t04AF];
    _t04B1 = 0;
    _t04B2 = t00E5[_t04B1];
    _t04B3 = 1;
    _t04B4 = t00E5[_t04B3];
    _t04B5 = [_t04B2, _t04B4];
    pos00EC = +000F<$[2]> (_t04B0, _t04B5);
    bool _t04B6;
    _t04B7 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t04B7
      _t04B6 = inside007D<#2; %2; $[]> (v0300B8, T00A3);
    else
      _t04B6 = false;
    if _t04B6 {
      _t04B8 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04B9 = @0060<#2; %2; $[]> (T00A3, v0300B8);
      _t04BA = -0016<$[]> (_t04B8, _t04B9);
      _t04BB = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04BC = @0060<#2; %2; $[]> (T00A3, v0300B8);
      _t04BD = -0016<$[]> (_t04BB, _t04BC);
      _t04BE = *001C (_t04BA, _t04BD);
      score00E9 = +000F<$[]> (score00E9, _t04BE);
    }
    _t04BF = •0079<$[2]; $[2]; $[]> (r000EA, v0400BA);
    _t04C0 = •0079<$[2]; $[2]; $[]> (r100EB, v0400BA);
    _t04C1 = [_t04BF, _t04C0];
    _t04C2 = 0;
    _t04C3 = t00E5[_t04C2];
    _t04C4 = 1;
    _t04C5 = t00E5[_t04C4];
    _t04C6 = [_t04C3, _t04C5];
    pos00EC = +000F<$[2]> (_t04C1, _t04C6);
    bool _t04C7;
    _t04C8 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t04C8
      _t04C7 = inside007D<#2; %2; $[]> (v0400BA, T00A3);
    else
      _t04C7 = false;
    if _t04C7 {
      _t04C9 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04CA = @0060<#2; %2; $[]> (T00A3, v0400BA);
      _t04CB = -0016<$[]> (_t04C9, _t04CA);
      _t04CC = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04CD = @0060<#2; %2; $[]> (T00A3, v0400BA);
      _t04CE = -0016<$[]> (_t04CC, _t04CD);
      _t04CF = *001C (_t04CB, _t04CE);
      score00E9 = +000F<$[]> (score00E9, _t04CF);
    }
    _t04D0 = •0079<$[2]; $[2]; $[]> (r000EA, v0500BC);
    _t04D1 = •0079<$[2]; $[2]; $[]> (r100EB, v0500BC);
    _t04D2 = [_t04D0, _t04D1];
    _t04D3 = 0;
    _t04D4 = t00E5[_t04D3];
    _t04D5 = 1;
    _t04D6 = t00E5[_t04D5];
    _t04D7 = [_t04D4, _t04D6];
    pos00EC = +000F<$[2]> (_t04D2, _t04D7);
    bool _t04D8;
    _t04D9 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t04D9
      _t04D8 = inside007D<#2; %2; $[]> (v0500BC, T00A3);
    else
      _t04D8 = false;
    if _t04D8 {
      _t04DA = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04DB = @0060<#2; %2; $[]> (T00A3, v0500BC);
      _t04DC = -0016<$[]> (_t04DA, _t04DB);
      _t04DD = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04DE = @0060<#2; %2; $[]> (T00A3, v0500BC);
      _t04DF = -0016<$[]> (_t04DD, _t04DE);
      _t04E0 = *001C (_t04DC, _t04DF);
      score00E9 = +000F<$[]> (score00E9, _t04E0);
    }
    _t04E1 = •0079<$[2]; $[2]; $[]> (r000EA, v0600BD);
    _t04E2 = •0079<$[2]; $[2]; $[]> (r100EB, v0600BD);
    _t04E3 = [_t04E1, _t04E2];
    _t04E4 = 0;
    _t04E5 = t00E5[_t04E4];
    _t04E6 = 1;
    _t04E7 = t00E5[_t04E6];
    _t04E8 = [_t04E5, _t04E7];
    pos00EC = +000F<$[2]> (_t04E3, _t04E8);
    bool _t04E9;
    _t04EA = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t04EA
      _t04E9 = inside007D<#2; %2; $[]> (v0600BD, T00A3);
    else
      _t04E9 = false;
    if _t04E9 {
      _t04EB = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04EC = @0060<#2; %2; $[]> (T00A3, v0600BD);
      _t04ED = -0016<$[]> (_t04EB, _t04EC);
      _t04EE = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04EF = @0060<#2; %2; $[]> (T00A3, v0600BD);
      _t04F0 = -0016<$[]> (_t04EE, _t04EF);
      _t04F1 = *001C (_t04ED, _t04F0);
      score00E9 = +000F<$[]> (score00E9, _t04F1);
    }
    _t04F2 = •0079<$[2]; $[2]; $[]> (r000EA, v0700BE);
    _t04F3 = •0079<$[2]; $[2]; $[]> (r100EB, v0700BE);
    _t04F4 = [_t04F2, _t04F3];
    _t04F5 = 0;
    _t04F6 = t00E5[_t04F5];
    _t04F7 = 1;
    _t04F8 = t00E5[_t04F7];
    _t04F9 = [_t04F6, _t04F8];
    pos00EC = +000F<$[2]> (_t04F4, _t04F9);
    bool _t04FA;
    _t04FB = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t04FB
      _t04FA = inside007D<#2; %2; $[]> (v0700BE, T00A3);
    else
      _t04FA = false;
    if _t04FA {
      _t04FC = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04FD = @0060<#2; %2; $[]> (T00A3, v0700BE);
      _t04FE = -0016<$[]> (_t04FC, _t04FD);
      _t04FF = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0500 = @0060<#2; %2; $[]> (T00A3, v0700BE);
      _t0501 = -0016<$[]> (_t04FF, _t0500);
      _t0502 = *001C (_t04FE, _t0501);
      score00E9 = +000F<$[]> (score00E9, _t0502);
    }
    _t0503 = •0079<$[2]; $[2]; $[]> (r000EA, v0800BF);
    _t0504 = •0079<$[2]; $[2]; $[]> (r100EB, v0800BF);
    _t0505 = [_t0503, _t0504];
    _t0506 = 0;
    _t0507 = t00E5[_t0506];
    _t0508 = 1;
    _t0509 = t00E5[_t0508];
    _t050A = [_t0507, _t0509];
    pos00EC = +000F<$[2]> (_t0505, _t050A);
    bool _t050B;
    _t050C = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t050C
      _t050B = inside007D<#2; %2; $[]> (v0800BF, T00A3);
    else
      _t050B = false;
    if _t050B {
      _t050D = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t050E = @0060<#2; %2; $[]> (T00A3, v0800BF);
      _t050F = -0016<$[]> (_t050D, _t050E);
      _t0510 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0511 = @0060<#2; %2; $[]> (T00A3, v0800BF);
      _t0512 = -0016<$[]> (_t0510, _t0511);
      _t0513 = *001C (_t050F, _t0512);
      score00E9 = +000F<$[]> (score00E9, _t0513);
    }
    _t0514 = •0079<$[2]; $[2]; $[]> (r000EA, v0900C1);
    _t0515 = •0079<$[2]; $[2]; $[]> (r100EB, v0900C1);
    _t0516 = [_t0514, _t0515];
    _t0517 = 0;
    _t0518 = t00E5[_t0517];
    _t0519 = 1;
    _t051A = t00E5[_t0519];
    _t051B = [_t0518, _t051A];
    pos00EC = +000F<$[2]> (_t0516, _t051B);
    bool _t051C;
    _t051D = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t051D
      _t051C = inside007D<#2; %2; $[]> (v0900C1, T00A3);
    else
      _t051C = false;
    if _t051C {
      _t051E = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t051F = @0060<#2; %2; $[]> (T00A3, v0900C1);
      _t0520 = -0016<$[]> (_t051E, _t051F);
      _t0521 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0522 = @0060<#2; %2; $[]> (T00A3, v0900C1);
      _t0523 = -0016<$[]> (_t0521, _t0522);
      _t0524 = *001C (_t0520, _t0523);
      score00E9 = +000F<$[]> (score00E9, _t0524);
    }
    _t0525 = •0079<$[2]; $[2]; $[]> (r000EA, v1000C3);
    _t0526 = •0079<$[2]; $[2]; $[]> (r100EB, v1000C3);
    _t0527 = [_t0525, _t0526];
    _t0528 = 0;
    _t0529 = t00E5[_t0528];
    _t052A = 1;
    _t052B = t00E5[_t052A];
    _t052C = [_t0529, _t052B];
    pos00EC = +000F<$[2]> (_t0527, _t052C);
    bool _t052D;
    _t052E = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t052E
      _t052D = inside007D<#2; %2; $[]> (v1000C3, T00A3);
    else
      _t052D = false;
    if _t052D {
      _t052F = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0530 = @0060<#2; %2; $[]> (T00A3, v1000C3);
      _t0531 = -0016<$[]> (_t052F, _t0530);
      _t0532 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0533 = @0060<#2; %2; $[]> (T00A3, v1000C3);
      _t0534 = -0016<$[]> (_t0532, _t0533);
      _t0535 = *001C (_t0531, _t0534);
      score00E9 = +000F<$[]> (score00E9, _t0535);
    }
    _t0536 = •0079<$[2]; $[2]; $[]> (r000EA, v1100C4);
    _t0537 = •0079<$[2]; $[2]; $[]> (r100EB, v1100C4);
    _t0538 = [_t0536, _t0537];
    _t0539 = 0;
    _t053A = t00E5[_t0539];
    _t053B = 1;
    _t053C = t00E5[_t053B];
    _t053D = [_t053A, _t053C];
    pos00EC = +000F<$[2]> (_t0538, _t053D);
    bool _t053E;
    _t053F = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t053F
      _t053E = inside007D<#2; %2; $[]> (v1100C4, T00A3);
    else
      _t053E = false;
    if _t053E {
      _t0540 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0541 = @0060<#2; %2; $[]> (T00A3, v1100C4);
      _t0542 = -0016<$[]> (_t0540, _t0541);
      _t0543 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0544 = @0060<#2; %2; $[]> (T00A3, v1100C4);
      _t0545 = -0016<$[]> (_t0543, _t0544);
      _t0546 = *001C (_t0542, _t0545);
      score00E9 = +000F<$[]> (score00E9, _t0546);
    }
    _t0547 = •0079<$[2]; $[2]; $[]> (r000EA, v1200C5);
    _t0548 = •0079<$[2]; $[2]; $[]> (r100EB, v1200C5);
    _t0549 = [_t0547, _t0548];
    _t054A = 0;
    _t054B = t00E5[_t054A];
    _t054C = 1;
    _t054D = t00E5[_t054C];
    _t054E = [_t054B, _t054D];
    pos00EC = +000F<$[2]> (_t0549, _t054E);
    bool _t054F;
    _t0550 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0550
      _t054F = inside007D<#2; %2; $[]> (v1200C5, T00A3);
    else
      _t054F = false;
    if _t054F {
      _t0551 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0552 = @0060<#2; %2; $[]> (T00A3, v1200C5);
      _t0553 = -0016<$[]> (_t0551, _t0552);
      _t0554 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0555 = @0060<#2; %2; $[]> (T00A3, v1200C5);
      _t0556 = -0016<$[]> (_t0554, _t0555);
      _t0557 = *001C (_t0553, _t0556);
      score00E9 = +000F<$[]> (score00E9, _t0557);
    }
    _t0558 = •0079<$[2]; $[2]; $[]> (r000EA, v1300C6);
    _t0559 = •0079<$[2]; $[2]; $[]> (r100EB, v1300C6);
    _t055A = [_t0558, _t0559];
    _t055B = 0;
    _t055C = t00E5[_t055B];
    _t055D = 1;
    _t055E = t00E5[_t055D];
    _t055F = [_t055C, _t055E];
    pos00EC = +000F<$[2]> (_t055A, _t055F);
    bool _t0560;
    _t0561 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0561
      _t0560 = inside007D<#2; %2; $[]> (v1300C6, T00A3);
    else
      _t0560 = false;
    if _t0560 {
      _t0562 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0563 = @0060<#2; %2; $[]> (T00A3, v1300C6);
      _t0564 = -0016<$[]> (_t0562, _t0563);
      _t0565 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0566 = @0060<#2; %2; $[]> (T00A3, v1300C6);
      _t0567 = -0016<$[]> (_t0565, _t0566);
      _t0568 = *001C (_t0564, _t0567);
      score00E9 = +000F<$[]> (score00E9, _t0568);
    }
    _t0569 = •0079<$[2]; $[2]; $[]> (r000EA, v1400C8);
    _t056A = •0079<$[2]; $[2]; $[]> (r100EB, v1400C8);
    _t056B = [_t0569, _t056A];
    _t056C = 0;
    _t056D = t00E5[_t056C];
    _t056E = 1;
    _t056F = t00E5[_t056E];
    _t0570 = [_t056D, _t056F];
    pos00EC = +000F<$[2]> (_t056B, _t0570);
    bool _t0571;
    _t0572 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0572
      _t0571 = inside007D<#2; %2; $[]> (v1400C8, T00A3);
    else
      _t0571 = false;
    if _t0571 {
      _t0573 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0574 = @0060<#2; %2; $[]> (T00A3, v1400C8);
      _t0575 = -0016<$[]> (_t0573, _t0574);
      _t0576 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0577 = @0060<#2; %2; $[]> (T00A3, v1400C8);
      _t0578 = -0016<$[]> (_t0576, _t0577);
      _t0579 = *001C (_t0575, _t0578);
      score00E9 = +000F<$[]> (score00E9, _t0579);
    }
    _t057A = •0079<$[2]; $[2]; $[]> (r000EA, v1500CA);
    _t057B = •0079<$[2]; $[2]; $[]> (r100EB, v1500CA);
    _t057C = [_t057A, _t057B];
    _t057D = 0;
    _t057E = t00E5[_t057D];
    _t057F = 1;
    _t0580 = t00E5[_t057F];
    _t0581 = [_t057E, _t0580];
    pos00EC = +000F<$[2]> (_t057C, _t0581);
    bool _t0582;
    _t0583 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0583
      _t0582 = inside007D<#2; %2; $[]> (v1500CA, T00A3);
    else
      _t0582 = false;
    if _t0582 {
      _t0584 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0585 = @0060<#2; %2; $[]> (T00A3, v1500CA);
      _t0586 = -0016<$[]> (_t0584, _t0585);
      _t0587 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0588 = @0060<#2; %2; $[]> (T00A3, v1500CA);
      _t0589 = -0016<$[]> (_t0587, _t0588);
      _t058A = *001C (_t0586, _t0589);
      score00E9 = +000F<$[]> (score00E9, _t058A);
    }
    _t058B = •0079<$[2]; $[2]; $[]> (r000EA, v1600CC);
    _t058C = •0079<$[2]; $[2]; $[]> (r100EB, v1600CC);
    _t058D = [_t058B, _t058C];
    _t058E = 0;
    _t058F = t00E5[_t058E];
    _t0590 = 1;
    _t0591 = t00E5[_t0590];
    _t0592 = [_t058F, _t0591];
    pos00EC = +000F<$[2]> (_t058D, _t0592);
    bool _t0593;
    _t0594 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0594
      _t0593 = inside007D<#2; %2; $[]> (v1600CC, T00A3);
    else
      _t0593 = false;
    if _t0593 {
      _t0595 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0596 = @0060<#2; %2; $[]> (T00A3, v1600CC);
      _t0597 = -0016<$[]> (_t0595, _t0596);
      _t0598 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0599 = @0060<#2; %2; $[]> (T00A3, v1600CC);
      _t059A = -0016<$[]> (_t0598, _t0599);
      _t059B = *001C (_t0597, _t059A);
      score00E9 = +000F<$[]> (score00E9, _t059B);
    }
    _t059C = •0079<$[2]; $[2]; $[]> (r000EA, v1700CE);
    _t059D = •0079<$[2]; $[2]; $[]> (r100EB, v1700CE);
    _t059E = [_t059C, _t059D];
    _t059F = 0;
    _t05A0 = t00E5[_t059F];
    _t05A1 = 1;
    _t05A2 = t00E5[_t05A1];
    _t05A3 = [_t05A0, _t05A2];
    pos00EC = +000F<$[2]> (_t059E, _t05A3);
    bool _t05A4;
    _t05A5 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t05A5
      _t05A4 = inside007D<#2; %2; $[]> (v1700CE, T00A3);
    else
      _t05A4 = false;
    if _t05A4 {
      _t05A6 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05A7 = @0060<#2; %2; $[]> (T00A3, v1700CE);
      _t05A8 = -0016<$[]> (_t05A6, _t05A7);
      _t05A9 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05AA = @0060<#2; %2; $[]> (T00A3, v1700CE);
      _t05AB = -0016<$[]> (_t05A9, _t05AA);
      _t05AC = *001C (_t05A8, _t05AB);
      score00E9 = +000F<$[]> (score00E9, _t05AC);
    }
    _t05AD = •0079<$[2]; $[2]; $[]> (r000EA, v1800D0);
    _t05AE = •0079<$[2]; $[2]; $[]> (r100EB, v1800D0);
    _t05AF = [_t05AD, _t05AE];
    _t05B0 = 0;
    _t05B1 = t00E5[_t05B0];
    _t05B2 = 1;
    _t05B3 = t00E5[_t05B2];
    _t05B4 = [_t05B1, _t05B3];
    pos00EC = +000F<$[2]> (_t05AF, _t05B4);
    bool _t05B5;
    _t05B6 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t05B6
      _t05B5 = inside007D<#2; %2; $[]> (v1800D0, T00A3);
    else
      _t05B5 = false;
    if _t05B5 {
      _t05B7 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05B8 = @0060<#2; %2; $[]> (T00A3, v1800D0);
      _t05B9 = -0016<$[]> (_t05B7, _t05B8);
      _t05BA = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05BB = @0060<#2; %2; $[]> (T00A3, v1800D0);
      _t05BC = -0016<$[]> (_t05BA, _t05BB);
      _t05BD = *001C (_t05B9, _t05BC);
      score00E9 = +000F<$[]> (score00E9, _t05BD);
    }
    _t05BE = •0079<$[2]; $[2]; $[]> (r000EA, v1900D3);
    _t05BF = •0079<$[2]; $[2]; $[]> (r100EB, v1900D3);
    _t05C0 = [_t05BE, _t05BF];
    _t05C1 = 0;
    _t05C2 = t00E5[_t05C1];
    _t05C3 = 1;
    _t05C4 = t00E5[_t05C3];
    _t05C5 = [_t05C2, _t05C4];
    pos00EC = +000F<$[2]> (_t05C0, _t05C5);
    bool _t05C6;
    _t05C7 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t05C7
      _t05C6 = inside007D<#2; %2; $[]> (v1900D3, T00A3);
    else
      _t05C6 = false;
    if _t05C6 {
      _t05C8 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05C9 = @0060<#2; %2; $[]> (T00A3, v1900D3);
      _t05CA = -0016<$[]> (_t05C8, _t05C9);
      _t05CB = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05CC = @0060<#2; %2; $[]> (T00A3, v1900D3);
      _t05CD = -0016<$[]> (_t05CB, _t05CC);
      _t05CE = *001C (_t05CA, _t05CD);
      score00E9 = +000F<$[]> (score00E9, _t05CE);
    }
    _t05CF = •0079<$[2]; $[2]; $[]> (r000EA, v2000D6);
    _t05D0 = •0079<$[2]; $[2]; $[]> (r100EB, v2000D6);
    _t05D1 = [_t05CF, _t05D0];
    _t05D2 = 0;
    _t05D3 = t00E5[_t05D2];
    _t05D4 = 1;
    _t05D5 = t00E5[_t05D4];
    _t05D6 = [_t05D3, _t05D5];
    pos00EC = +000F<$[2]> (_t05D1, _t05D6);
    bool _t05D7;
    _t05D8 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t05D8
      _t05D7 = inside007D<#2; %2; $[]> (v2000D6, T00A3);
    else
      _t05D7 = false;
    if _t05D7 {
      _t05D9 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05DA = @0060<#2; %2; $[]> (T00A3, v2000D6);
      _t05DB = -0016<$[]> (_t05D9, _t05DA);
      _t05DC = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05DD = @0060<#2; %2; $[]> (T00A3, v2000D6);
      _t05DE = -0016<$[]> (_t05DC, _t05DD);
      _t05DF = *001C (_t05DB, _t05DE);
      score00E9 = +000F<$[]> (score00E9, _t05DF);
    }
    _t05E0 = •0079<$[2]; $[2]; $[]> (r000EA, v2100D8);
    _t05E1 = •0079<$[2]; $[2]; $[]> (r100EB, v2100D8);
    _t05E2 = [_t05E0, _t05E1];
    _t05E3 = 0;
    _t05E4 = t00E5[_t05E3];
    _t05E5 = 1;
    _t05E6 = t00E5[_t05E5];
    _t05E7 = [_t05E4, _t05E6];
    pos00EC = +000F<$[2]> (_t05E2, _t05E7);
    bool _t05E8;
    _t05E9 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t05E9
      _t05E8 = inside007D<#2; %2; $[]> (v2100D8, T00A3);
    else
      _t05E8 = false;
    if _t05E8 {
      _t05EA = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05EB = @0060<#2; %2; $[]> (T00A3, v2100D8);
      _t05EC = -0016<$[]> (_t05EA, _t05EB);
      _t05ED = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05EE = @0060<#2; %2; $[]> (T00A3, v2100D8);
      _t05EF = -0016<$[]> (_t05ED, _t05EE);
      _t05F0 = *001C (_t05EC, _t05EF);
      score00E9 = +000F<$[]> (score00E9, _t05F0);
    }
    _t05F1 = •0079<$[2]; $[2]; $[]> (r000EA, v2200DA);
    _t05F2 = •0079<$[2]; $[2]; $[]> (r100EB, v2200DA);
    _t05F3 = [_t05F1, _t05F2];
    _t05F4 = 0;
    _t05F5 = t00E5[_t05F4];
    _t05F6 = 1;
    _t05F7 = t00E5[_t05F6];
    _t05F8 = [_t05F5, _t05F7];
    pos00EC = +000F<$[2]> (_t05F3, _t05F8);
    bool _t05F9;
    _t05FA = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t05FA
      _t05F9 = inside007D<#2; %2; $[]> (v2200DA, T00A3);
    else
      _t05F9 = false;
    if _t05F9 {
      _t05FB = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05FC = @0060<#2; %2; $[]> (T00A3, v2200DA);
      _t05FD = -0016<$[]> (_t05FB, _t05FC);
      _t05FE = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05FF = @0060<#2; %2; $[]> (T00A3, v2200DA);
      _t0600 = -0016<$[]> (_t05FE, _t05FF);
      _t0601 = *001C (_t05FD, _t0600);
      score00E9 = +000F<$[]> (score00E9, _t0601);
    }
    _t0602 = •0079<$[2]; $[2]; $[]> (r000EA, v2300DC);
    _t0603 = •0079<$[2]; $[2]; $[]> (r100EB, v2300DC);
    _t0604 = [_t0602, _t0603];
    _t0605 = 0;
    _t0606 = t00E5[_t0605];
    _t0607 = 1;
    _t0608 = t00E5[_t0607];
    _t0609 = [_t0606, _t0608];
    pos00EC = +000F<$[2]> (_t0604, _t0609);
    bool _t060A;
    _t060B = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t060B
      _t060A = inside007D<#2; %2; $[]> (v2300DC, T00A3);
    else
      _t060A = false;
    if _t060A {
      _t060C = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t060D = @0060<#2; %2; $[]> (T00A3, v2300DC);
      _t060E = -0016<$[]> (_t060C, _t060D);
      _t060F = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0610 = @0060<#2; %2; $[]> (T00A3, v2300DC);
      _t0611 = -0016<$[]> (_t060F, _t0610);
      _t0612 = *001C (_t060E, _t0611);
      score00E9 = +000F<$[]> (score00E9, _t0612);
    }
    _t0613 = •0079<$[2]; $[2]; $[]> (r000EA, v2400DF);
    _t0614 = •0079<$[2]; $[2]; $[]> (r100EB, v2400DF);
    _t0615 = [_t0613, _t0614];
    _t0616 = 0;
    _t0617 = t00E5[_t0616];
    _t0618 = 1;
    _t0619 = t00E5[_t0618];
    _t061A = [_t0617, _t0619];
    pos00EC = +000F<$[2]> (_t0615, _t061A);
    bool _t061B;
    _t061C = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t061C
      _t061B = inside007D<#2; %2; $[]> (v2400DF, T00A3);
    else
      _t061B = false;
    if _t061B {
      _t061D = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t061E = @0060<#2; %2; $[]> (T00A3, v2400DF);
      _t061F = -0016<$[]> (_t061D, _t061E);
      _t0620 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0621 = @0060<#2; %2; $[]> (T00A3, v2400DF);
      _t0622 = -0016<$[]> (_t0620, _t0621);
      _t0623 = *001C (_t061F, _t0622);
      score00E9 = +000F<$[]> (score00E9, _t0623);
    }
    stabilize;
  }
  Stabilize
  { }
}
/* Program end */
**** static variables:  _t03EE _t03EF _t03F1 _t03F2
eval assignment: _t03EE = "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: _t03EF = IMAGE2D<int>
eval assignment: _t03F1 = "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: _t03F2 = IMAGE2D<float>
eval assignment: _t03F3 = 0.0
eval assignment: _t03F4 = 0.0
eval assignment: v0000B5 = tensor
eval assignment: _t03F5 = 0.0
eval assignment: _t03F6 = 0.25
eval assignment: v0100B6 = tensor
eval assignment: _t03F7 = 0.0
eval assignment: _t03F8 = 0.5
eval assignment: v0200B7 = tensor
eval assignment: _t03F9 = 0.0
eval assignment: _t03FA = 0.25
eval assignment: _t03FC = 0.0
eval assignment: _t03FD = 0.5
eval assignment: _t03FF = 0.25
eval assignment: _t0400 = 0.0
eval assignment: v0500BC = tensor
eval assignment: _t0401 = 0.25
eval assignment: _t0402 = 0.25
eval assignment: v0600BD = tensor
eval assignment: _t0403 = 0.25
eval assignment: _t0404 = 0.5
eval assignment: v0700BE = tensor
eval assignment: _t0405 = 0.25
eval assignment: _t0406 = 0.25
eval assignment: _t0408 = 0.25
eval assignment: _t0409 = 0.5
eval assignment: _t040B = 0.5
eval assignment: _t040C = 0.0
eval assignment: v1000C3 = tensor
eval assignment: _t040D = 0.5
eval assignment: _t040E = 0.25
eval assignment: v1100C4 = tensor
eval assignment: _t040F = 0.5
eval assignment: _t0410 = 0.5
eval assignment: v1200C5 = tensor
eval assignment: _t0411 = 0.5
eval assignment: _t0412 = 0.25
eval assignment: _t0414 = 0.5
eval assignment: _t0415 = 0.5
eval assignment: _t0417 = 0.25
eval assignment: _t0419 = 0.0
eval assignment: _t041A = 0.25
eval assignment: _t041C = 0.25
eval assignment: _t041D = 0.25
eval assignment: _t041F = 0.5
eval assignment: _t0420 = 0.25
eval assignment: _t0422 = 0.25
eval assignment: _t0424 = 0.25
eval assignment: _t0426 = 0.5
eval assignment: _t0428 = 0.5
eval assignment: _t042A = 0.0
eval assignment: _t042B = 0.5
eval assignment: _t042D = 0.25
eval assignment: _t042E = 0.5
eval assignment: _t0430 = 0.5
eval assignment: _t0431 = 0.5
eval assignment: _t0433 = 0.25
eval assignment: _t0435 = 0.5
eval assignment: _t0437 = 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;
  vec2 v2000D6;
  vec2 v2100D8;
  vec2 v2200DA;
  vec2 v2300DC;
  vec2 v2400DF;
  _t03ED = bspln30095 ();
  _t03EE = "square-template.nrrd";
  _t03EF = load (IMAGE2D<int> ,_t03EE);
  T00A3 = ⊛003A<#2; %2; $[]> (_t03ED, _t03EF);
  _t03F0 = bspln30095 ();
  _t03F1 = "square-rotate.nrrd";
  _t03F2 = load (IMAGE2D<float> ,_t03F1);
  F00AC = ⊛003A<#2; %2; $[]> (_t03F0, _t03F2);
  _t03F3 = 0.0;
  _t03F4 = 0.0;
  v0000B5 = [_t03F3, _t03F4];
  _t03F5 = 0.0;
  _t03F6 = 0.25e0;
  v0100B6 = [_t03F5, _t03F6];
  _t03F7 = 0.0;
  _t03F8 = 0.5e0;
  v0200B7 = [_t03F7, _t03F8];
  _t03F9 = 0.0;
  _t03FA = 0.25e0;
  _t03FB = unary -004D<$[]> (_t03FA);
  v0300B8 = [_t03F9, _t03FB];
  _t03FC = 0.0;
  _t03FD = 0.5e0;
  _t03FE = unary -004D<$[]> (_t03FD);
  v0400BA = [_t03FC, _t03FE];
  _t03FF = 0.25e0;
  _t0400 = 0.0;
  v0500BC = [_t03FF, _t0400];
  _t0401 = 0.25e0;
  _t0402 = 0.25e0;
  v0600BD = [_t0401, _t0402];
  _t0403 = 0.25e0;
  _t0404 = 0.5e0;
  v0700BE = [_t0403, _t0404];
  _t0405 = 0.25e0;
  _t0406 = 0.25e0;
  _t0407 = unary -004D<$[]> (_t0406);
  v0800BF = [_t0405, _t0407];
  _t0408 = 0.25e0;
  _t0409 = 0.5e0;
  _t040A = unary -004D<$[]> (_t0409);
  v0900C1 = [_t0408, _t040A];
  _t040B = 0.5e0;
  _t040C = 0.0;
  v1000C3 = [_t040B, _t040C];
  _t040D = 0.5e0;
  _t040E = 0.25e0;
  v1100C4 = [_t040D, _t040E];
  _t040F = 0.5e0;
  _t0410 = 0.5e0;
  v1200C5 = [_t040F, _t0410];
  _t0411 = 0.5e0;
  _t0412 = 0.25e0;
  _t0413 = unary -004D<$[]> (_t0412);
  v1300C6 = [_t0411, _t0413];
  _t0414 = 0.5e0;
  _t0415 = 0.5e0;
  _t0416 = unary -004D<$[]> (_t0415);
  v1400C8 = [_t0414, _t0416];
  _t0417 = 0.25e0;
  _t0418 = unary -004D<$[]> (_t0417);
  _t0419 = 0.0;
  v1500CA = [_t0418, _t0419];
  _t041A = 0.25e0;
  _t041B = unary -004D<$[]> (_t041A);
  _t041C = 0.25e0;
  v1600CC = [_t041B, _t041C];
  _t041D = 0.25e0;
  _t041E = unary -004D<$[]> (_t041D);
  _t041F = 0.5e0;
  v1700CE = [_t041E, _t041F];
  _t0420 = 0.25e0;
  _t0421 = unary -004D<$[]> (_t0420);
  _t0422 = 0.25e0;
  _t0423 = unary -004D<$[]> (_t0422);
  v1800D0 = [_t0421, _t0423];
  _t0424 = 0.25e0;
  _t0425 = unary -004D<$[]> (_t0424);
  _t0426 = 0.5e0;
  _t0427 = unary -004D<$[]> (_t0426);
  v1900D3 = [_t0425, _t0427];
  _t0428 = 0.5e0;
  _t0429 = unary -004D<$[]> (_t0428);
  _t042A = 0.0;
  v2000D6 = [_t0429, _t042A];
  _t042B = 0.5e0;
  _t042C = unary -004D<$[]> (_t042B);
  _t042D = 0.25e0;
  v2100D8 = [_t042C, _t042D];
  _t042E = 0.5e0;
  _t042F = unary -004D<$[]> (_t042E);
  _t0430 = 0.5e0;
  v2200DA = [_t042F, _t0430];
  _t0431 = 0.5e0;
  _t0432 = unary -004D<$[]> (_t0431);
  _t0433 = 0.25e0;
  _t0434 = unary -004D<$[]> (_t0433);
  v2300DC = [_t0432, _t0434];
  _t0435 = 0.5e0;
  _t0436 = unary -004D<$[]> (_t0435);
  _t0437 = 0.5e0;
  _t0438 = unary -004D<$[]> (_t0437);
  v2400DF = [_t0436, _t0438];
}
Array
  {
    _t0624 = 0;
    _t0625 = 60;
    _t0626 = 0;
    _t0627 = 60;
    _t0628 = 0;
    _t0629 = 60;
  }
  for int i03EA = _t0624 .. _t0625
    for int j03EB = _t0626 .. _t0627
      for int k03EC = _t0628 .. _t0629
        { }
        new R(i03EA, j03EB, k03EC);
strand R (int i00E4, int j00E3, int k00E2)
{{
    vec3 t00E5;
    output real score00E9;
    vec2 r000EA;
    vec2 r100EB;
    vec2 pos00EC;
    _t0439 = $i2r009B (i00E4);
    _t043A = 0.60e2;
    _t043B = /002A (_t0439, _t043A);
    _t043C = 0.5e0;
    _t043D = -0016<$[]> (_t043B, _t043C);
    _t043E = $i2r009B (j00E3);
    _t043F = 0.60e2;
    _t0440 = /002A (_t043E, _t043F);
    _t0441 = 0.5e0;
    _t0442 = -0016<$[]> (_t0440, _t0441);
    _t0443 = $i2r009B (k00E2);
    _t0444 = 0.60e2;
    _t0445 = /002A (_t0443, _t0444);
    _t0446 = 0.5e0;
    _t0447 = -0016<$[]> (_t0445, _t0446);
    t00E5 = [_t043D, _t0442, _t0447];
    score00E9 = 0.0;
    _t0448 = 0.0;
    _t0449 = 0.0;
    r000EA = [_t0448, _t0449];
    _t044A = 0.0;
    _t044B = 0.0;
    r100EB = [_t044A, _t044B];
    _t044C = 0.0;
    _t044D = 0.0;
    pos00EC = [_t044C, _t044D];
  }
  Update
  {
    _t044E = 0.1e1;
    _t044F = 0.2e1;
    _t0450 = 2;
    _t0451 = t00E5[_t0450];
    _t0452 = *001C (_t044F, _t0451);
    _t0453 = 2;
    _t0454 = t00E5[_t0453];
    _t0455 = *001C (_t0452, _t0454);
    _t0456 = -0016<$[]> (_t044E, _t0455);
    _t0457 = 0.2e1;
    _t0458 = unary -004D<$[]> (_t0457);
    _t0459 = 0.1e1;
    _t045A = 2;
    _t045B = t00E5[_t045A];
    _t045C = 2;
    _t045D = t00E5[_t045C];
    _t045E = *001C (_t045B, _t045D);
    _t045F = -0016<$[]> (_t0459, _t045E);
    _t0460 = sqrt0091 (_t045F);
    _t0461 = *001C (_t0458, _t0460);
    _t0462 = 2;
    _t0463 = t00E5[_t0462];
    _t0464 = *001C (_t0461, _t0463);
    r000EA = [_t0456, _t0464];
    _t0465 = 0.2e1;
    _t0466 = 0.1e1;
    _t0467 = 2;
    _t0468 = t00E5[_t0467];
    _t0469 = 2;
    _t046A = t00E5[_t0469];
    _t046B = *001C (_t0468, _t046A);
    _t046C = -0016<$[]> (_t0466, _t046B);
    _t046D = sqrt0091 (_t046C);
    _t046E = *001C (_t0465, _t046D);
    _t046F = 2;
    _t0470 = t00E5[_t046F];
    _t0471 = *001C (_t046E, _t0470);
    _t0472 = 0.1e1;
    _t0473 = 0.2e1;
    _t0474 = 2;
    _t0475 = t00E5[_t0474];
    _t0476 = *001C (_t0473, _t0475);
    _t0477 = 2;
    _t0478 = t00E5[_t0477];
    _t0479 = *001C (_t0476, _t0478);
    _t047A = -0016<$[]> (_t0472, _t0479);
    r100EB = [_t0471, _t047A];
    _t047B = •0079<$[2]; $[2]; $[]> (r000EA, v0000B5);
    _t047C = •0079<$[2]; $[2]; $[]> (r100EB, v0000B5);
    _t047D = [_t047B, _t047C];
    _t047E = 0;
    _t047F = t00E5[_t047E];
    _t0480 = 1;
    _t0481 = t00E5[_t0480];
    _t0482 = [_t047F, _t0481];
    pos00EC = +000F<$[2]> (_t047D, _t0482);
    bool _t0483;
    _t0484 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0484
      _t0483 = inside007D<#2; %2; $[]> (v0000B5, T00A3);
    else
      _t0483 = false;
    if _t0483 {
      _t0485 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0486 = @0060<#2; %2; $[]> (T00A3, v0000B5);
      _t0487 = -0016<$[]> (_t0485, _t0486);
      _t0488 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0489 = @0060<#2; %2; $[]> (T00A3, v0000B5);
      _t048A = -0016<$[]> (_t0488, _t0489);
      _t048B = *001C (_t0487, _t048A);
      score00E9 = +000F<$[]> (score00E9, _t048B);
    }
    _t048C = •0079<$[2]; $[2]; $[]> (r000EA, v0100B6);
    _t048D = •0079<$[2]; $[2]; $[]> (r100EB, v0100B6);
    _t048E = [_t048C, _t048D];
    _t048F = 0;
    _t0490 = t00E5[_t048F];
    _t0491 = 1;
    _t0492 = t00E5[_t0491];
    _t0493 = [_t0490, _t0492];
    pos00EC = +000F<$[2]> (_t048E, _t0493);
    bool _t0494;
    _t0495 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0495
      _t0494 = inside007D<#2; %2; $[]> (v0100B6, T00A3);
    else
      _t0494 = false;
    if _t0494 {
      _t0496 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0497 = @0060<#2; %2; $[]> (T00A3, v0100B6);
      _t0498 = -0016<$[]> (_t0496, _t0497);
      _t0499 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t049A = @0060<#2; %2; $[]> (T00A3, v0100B6);
      _t049B = -0016<$[]> (_t0499, _t049A);
      _t049C = *001C (_t0498, _t049B);
      score00E9 = +000F<$[]> (score00E9, _t049C);
    }
    _t049D = •0079<$[2]; $[2]; $[]> (r000EA, v0200B7);
    _t049E = •0079<$[2]; $[2]; $[]> (r100EB, v0200B7);
    _t049F = [_t049D, _t049E];
    _t04A0 = 0;
    _t04A1 = t00E5[_t04A0];
    _t04A2 = 1;
    _t04A3 = t00E5[_t04A2];
    _t04A4 = [_t04A1, _t04A3];
    pos00EC = +000F<$[2]> (_t049F, _t04A4);
    bool _t04A5;
    _t04A6 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t04A6
      _t04A5 = inside007D<#2; %2; $[]> (v0200B7, T00A3);
    else
      _t04A5 = false;
    if _t04A5 {
      _t04A7 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04A8 = @0060<#2; %2; $[]> (T00A3, v0200B7);
      _t04A9 = -0016<$[]> (_t04A7, _t04A8);
      _t04AA = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04AB = @0060<#2; %2; $[]> (T00A3, v0200B7);
      _t04AC = -0016<$[]> (_t04AA, _t04AB);
      _t04AD = *001C (_t04A9, _t04AC);
      score00E9 = +000F<$[]> (score00E9, _t04AD);
    }
    _t04AE = •0079<$[2]; $[2]; $[]> (r000EA, v0300B8);
    _t04AF = •0079<$[2]; $[2]; $[]> (r100EB, v0300B8);
    _t04B0 = [_t04AE, _t04AF];
    _t04B1 = 0;
    _t04B2 = t00E5[_t04B1];
    _t04B3 = 1;
    _t04B4 = t00E5[_t04B3];
    _t04B5 = [_t04B2, _t04B4];
    pos00EC = +000F<$[2]> (_t04B0, _t04B5);
    bool _t04B6;
    _t04B7 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t04B7
      _t04B6 = inside007D<#2; %2; $[]> (v0300B8, T00A3);
    else
      _t04B6 = false;
    if _t04B6 {
      _t04B8 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04B9 = @0060<#2; %2; $[]> (T00A3, v0300B8);
      _t04BA = -0016<$[]> (_t04B8, _t04B9);
      _t04BB = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04BC = @0060<#2; %2; $[]> (T00A3, v0300B8);
      _t04BD = -0016<$[]> (_t04BB, _t04BC);
      _t04BE = *001C (_t04BA, _t04BD);
      score00E9 = +000F<$[]> (score00E9, _t04BE);
    }
    _t04BF = •0079<$[2]; $[2]; $[]> (r000EA, v0400BA);
    _t04C0 = •0079<$[2]; $[2]; $[]> (r100EB, v0400BA);
    _t04C1 = [_t04BF, _t04C0];
    _t04C2 = 0;
    _t04C3 = t00E5[_t04C2];
    _t04C4 = 1;
    _t04C5 = t00E5[_t04C4];
    _t04C6 = [_t04C3, _t04C5];
    pos00EC = +000F<$[2]> (_t04C1, _t04C6);
    bool _t04C7;
    _t04C8 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t04C8
      _t04C7 = inside007D<#2; %2; $[]> (v0400BA, T00A3);
    else
      _t04C7 = false;
    if _t04C7 {
      _t04C9 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04CA = @0060<#2; %2; $[]> (T00A3, v0400BA);
      _t04CB = -0016<$[]> (_t04C9, _t04CA);
      _t04CC = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04CD = @0060<#2; %2; $[]> (T00A3, v0400BA);
      _t04CE = -0016<$[]> (_t04CC, _t04CD);
      _t04CF = *001C (_t04CB, _t04CE);
      score00E9 = +000F<$[]> (score00E9, _t04CF);
    }
    _t04D0 = •0079<$[2]; $[2]; $[]> (r000EA, v0500BC);
    _t04D1 = •0079<$[2]; $[2]; $[]> (r100EB, v0500BC);
    _t04D2 = [_t04D0, _t04D1];
    _t04D3 = 0;
    _t04D4 = t00E5[_t04D3];
    _t04D5 = 1;
    _t04D6 = t00E5[_t04D5];
    _t04D7 = [_t04D4, _t04D6];
    pos00EC = +000F<$[2]> (_t04D2, _t04D7);
    bool _t04D8;
    _t04D9 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t04D9
      _t04D8 = inside007D<#2; %2; $[]> (v0500BC, T00A3);
    else
      _t04D8 = false;
    if _t04D8 {
      _t04DA = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04DB = @0060<#2; %2; $[]> (T00A3, v0500BC);
      _t04DC = -0016<$[]> (_t04DA, _t04DB);
      _t04DD = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04DE = @0060<#2; %2; $[]> (T00A3, v0500BC);
      _t04DF = -0016<$[]> (_t04DD, _t04DE);
      _t04E0 = *001C (_t04DC, _t04DF);
      score00E9 = +000F<$[]> (score00E9, _t04E0);
    }
    _t04E1 = •0079<$[2]; $[2]; $[]> (r000EA, v0600BD);
    _t04E2 = •0079<$[2]; $[2]; $[]> (r100EB, v0600BD);
    _t04E3 = [_t04E1, _t04E2];
    _t04E4 = 0;
    _t04E5 = t00E5[_t04E4];
    _t04E6 = 1;
    _t04E7 = t00E5[_t04E6];
    _t04E8 = [_t04E5, _t04E7];
    pos00EC = +000F<$[2]> (_t04E3, _t04E8);
    bool _t04E9;
    _t04EA = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t04EA
      _t04E9 = inside007D<#2; %2; $[]> (v0600BD, T00A3);
    else
      _t04E9 = false;
    if _t04E9 {
      _t04EB = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04EC = @0060<#2; %2; $[]> (T00A3, v0600BD);
      _t04ED = -0016<$[]> (_t04EB, _t04EC);
      _t04EE = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04EF = @0060<#2; %2; $[]> (T00A3, v0600BD);
      _t04F0 = -0016<$[]> (_t04EE, _t04EF);
      _t04F1 = *001C (_t04ED, _t04F0);
      score00E9 = +000F<$[]> (score00E9, _t04F1);
    }
    _t04F2 = •0079<$[2]; $[2]; $[]> (r000EA, v0700BE);
    _t04F3 = •0079<$[2]; $[2]; $[]> (r100EB, v0700BE);
    _t04F4 = [_t04F2, _t04F3];
    _t04F5 = 0;
    _t04F6 = t00E5[_t04F5];
    _t04F7 = 1;
    _t04F8 = t00E5[_t04F7];
    _t04F9 = [_t04F6, _t04F8];
    pos00EC = +000F<$[2]> (_t04F4, _t04F9);
    bool _t04FA;
    _t04FB = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t04FB
      _t04FA = inside007D<#2; %2; $[]> (v0700BE, T00A3);
    else
      _t04FA = false;
    if _t04FA {
      _t04FC = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t04FD = @0060<#2; %2; $[]> (T00A3, v0700BE);
      _t04FE = -0016<$[]> (_t04FC, _t04FD);
      _t04FF = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0500 = @0060<#2; %2; $[]> (T00A3, v0700BE);
      _t0501 = -0016<$[]> (_t04FF, _t0500);
      _t0502 = *001C (_t04FE, _t0501);
      score00E9 = +000F<$[]> (score00E9, _t0502);
    }
    _t0503 = •0079<$[2]; $[2]; $[]> (r000EA, v0800BF);
    _t0504 = •0079<$[2]; $[2]; $[]> (r100EB, v0800BF);
    _t0505 = [_t0503, _t0504];
    _t0506 = 0;
    _t0507 = t00E5[_t0506];
    _t0508 = 1;
    _t0509 = t00E5[_t0508];
    _t050A = [_t0507, _t0509];
    pos00EC = +000F<$[2]> (_t0505, _t050A);
    bool _t050B;
    _t050C = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t050C
      _t050B = inside007D<#2; %2; $[]> (v0800BF, T00A3);
    else
      _t050B = false;
    if _t050B {
      _t050D = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t050E = @0060<#2; %2; $[]> (T00A3, v0800BF);
      _t050F = -0016<$[]> (_t050D, _t050E);
      _t0510 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0511 = @0060<#2; %2; $[]> (T00A3, v0800BF);
      _t0512 = -0016<$[]> (_t0510, _t0511);
      _t0513 = *001C (_t050F, _t0512);
      score00E9 = +000F<$[]> (score00E9, _t0513);
    }
    _t0514 = •0079<$[2]; $[2]; $[]> (r000EA, v0900C1);
    _t0515 = •0079<$[2]; $[2]; $[]> (r100EB, v0900C1);
    _t0516 = [_t0514, _t0515];
    _t0517 = 0;
    _t0518 = t00E5[_t0517];
    _t0519 = 1;
    _t051A = t00E5[_t0519];
    _t051B = [_t0518, _t051A];
    pos00EC = +000F<$[2]> (_t0516, _t051B);
    bool _t051C;
    _t051D = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t051D
      _t051C = inside007D<#2; %2; $[]> (v0900C1, T00A3);
    else
      _t051C = false;
    if _t051C {
      _t051E = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t051F = @0060<#2; %2; $[]> (T00A3, v0900C1);
      _t0520 = -0016<$[]> (_t051E, _t051F);
      _t0521 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0522 = @0060<#2; %2; $[]> (T00A3, v0900C1);
      _t0523 = -0016<$[]> (_t0521, _t0522);
      _t0524 = *001C (_t0520, _t0523);
      score00E9 = +000F<$[]> (score00E9, _t0524);
    }
    _t0525 = •0079<$[2]; $[2]; $[]> (r000EA, v1000C3);
    _t0526 = •0079<$[2]; $[2]; $[]> (r100EB, v1000C3);
    _t0527 = [_t0525, _t0526];
    _t0528 = 0;
    _t0529 = t00E5[_t0528];
    _t052A = 1;
    _t052B = t00E5[_t052A];
    _t052C = [_t0529, _t052B];
    pos00EC = +000F<$[2]> (_t0527, _t052C);
    bool _t052D;
    _t052E = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t052E
      _t052D = inside007D<#2; %2; $[]> (v1000C3, T00A3);
    else
      _t052D = false;
    if _t052D {
      _t052F = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0530 = @0060<#2; %2; $[]> (T00A3, v1000C3);
      _t0531 = -0016<$[]> (_t052F, _t0530);
      _t0532 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0533 = @0060<#2; %2; $[]> (T00A3, v1000C3);
      _t0534 = -0016<$[]> (_t0532, _t0533);
      _t0535 = *001C (_t0531, _t0534);
      score00E9 = +000F<$[]> (score00E9, _t0535);
    }
    _t0536 = •0079<$[2]; $[2]; $[]> (r000EA, v1100C4);
    _t0537 = •0079<$[2]; $[2]; $[]> (r100EB, v1100C4);
    _t0538 = [_t0536, _t0537];
    _t0539 = 0;
    _t053A = t00E5[_t0539];
    _t053B = 1;
    _t053C = t00E5[_t053B];
    _t053D = [_t053A, _t053C];
    pos00EC = +000F<$[2]> (_t0538, _t053D);
    bool _t053E;
    _t053F = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t053F
      _t053E = inside007D<#2; %2; $[]> (v1100C4, T00A3);
    else
      _t053E = false;
    if _t053E {
      _t0540 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0541 = @0060<#2; %2; $[]> (T00A3, v1100C4);
      _t0542 = -0016<$[]> (_t0540, _t0541);
      _t0543 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0544 = @0060<#2; %2; $[]> (T00A3, v1100C4);
      _t0545 = -0016<$[]> (_t0543, _t0544);
      _t0546 = *001C (_t0542, _t0545);
      score00E9 = +000F<$[]> (score00E9, _t0546);
    }
    _t0547 = •0079<$[2]; $[2]; $[]> (r000EA, v1200C5);
    _t0548 = •0079<$[2]; $[2]; $[]> (r100EB, v1200C5);
    _t0549 = [_t0547, _t0548];
    _t054A = 0;
    _t054B = t00E5[_t054A];
    _t054C = 1;
    _t054D = t00E5[_t054C];
    _t054E = [_t054B, _t054D];
    pos00EC = +000F<$[2]> (_t0549, _t054E);
    bool _t054F;
    _t0550 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0550
      _t054F = inside007D<#2; %2; $[]> (v1200C5, T00A3);
    else
      _t054F = false;
    if _t054F {
      _t0551 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0552 = @0060<#2; %2; $[]> (T00A3, v1200C5);
      _t0553 = -0016<$[]> (_t0551, _t0552);
      _t0554 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0555 = @0060<#2; %2; $[]> (T00A3, v1200C5);
      _t0556 = -0016<$[]> (_t0554, _t0555);
      _t0557 = *001C (_t0553, _t0556);
      score00E9 = +000F<$[]> (score00E9, _t0557);
    }
    _t0558 = •0079<$[2]; $[2]; $[]> (r000EA, v1300C6);
    _t0559 = •0079<$[2]; $[2]; $[]> (r100EB, v1300C6);
    _t055A = [_t0558, _t0559];
    _t055B = 0;
    _t055C = t00E5[_t055B];
    _t055D = 1;
    _t055E = t00E5[_t055D];
    _t055F = [_t055C, _t055E];
    pos00EC = +000F<$[2]> (_t055A, _t055F);
    bool _t0560;
    _t0561 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0561
      _t0560 = inside007D<#2; %2; $[]> (v1300C6, T00A3);
    else
      _t0560 = false;
    if _t0560 {
      _t0562 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0563 = @0060<#2; %2; $[]> (T00A3, v1300C6);
      _t0564 = -0016<$[]> (_t0562, _t0563);
      _t0565 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0566 = @0060<#2; %2; $[]> (T00A3, v1300C6);
      _t0567 = -0016<$[]> (_t0565, _t0566);
      _t0568 = *001C (_t0564, _t0567);
      score00E9 = +000F<$[]> (score00E9, _t0568);
    }
    _t0569 = •0079<$[2]; $[2]; $[]> (r000EA, v1400C8);
    _t056A = •0079<$[2]; $[2]; $[]> (r100EB, v1400C8);
    _t056B = [_t0569, _t056A];
    _t056C = 0;
    _t056D = t00E5[_t056C];
    _t056E = 1;
    _t056F = t00E5[_t056E];
    _t0570 = [_t056D, _t056F];
    pos00EC = +000F<$[2]> (_t056B, _t0570);
    bool _t0571;
    _t0572 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0572
      _t0571 = inside007D<#2; %2; $[]> (v1400C8, T00A3);
    else
      _t0571 = false;
    if _t0571 {
      _t0573 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0574 = @0060<#2; %2; $[]> (T00A3, v1400C8);
      _t0575 = -0016<$[]> (_t0573, _t0574);
      _t0576 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0577 = @0060<#2; %2; $[]> (T00A3, v1400C8);
      _t0578 = -0016<$[]> (_t0576, _t0577);
      _t0579 = *001C (_t0575, _t0578);
      score00E9 = +000F<$[]> (score00E9, _t0579);
    }
    _t057A = •0079<$[2]; $[2]; $[]> (r000EA, v1500CA);
    _t057B = •0079<$[2]; $[2]; $[]> (r100EB, v1500CA);
    _t057C = [_t057A, _t057B];
    _t057D = 0;
    _t057E = t00E5[_t057D];
    _t057F = 1;
    _t0580 = t00E5[_t057F];
    _t0581 = [_t057E, _t0580];
    pos00EC = +000F<$[2]> (_t057C, _t0581);
    bool _t0582;
    _t0583 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0583
      _t0582 = inside007D<#2; %2; $[]> (v1500CA, T00A3);
    else
      _t0582 = false;
    if _t0582 {
      _t0584 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0585 = @0060<#2; %2; $[]> (T00A3, v1500CA);
      _t0586 = -0016<$[]> (_t0584, _t0585);
      _t0587 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0588 = @0060<#2; %2; $[]> (T00A3, v1500CA);
      _t0589 = -0016<$[]> (_t0587, _t0588);
      _t058A = *001C (_t0586, _t0589);
      score00E9 = +000F<$[]> (score00E9, _t058A);
    }
    _t058B = •0079<$[2]; $[2]; $[]> (r000EA, v1600CC);
    _t058C = •0079<$[2]; $[2]; $[]> (r100EB, v1600CC);
    _t058D = [_t058B, _t058C];
    _t058E = 0;
    _t058F = t00E5[_t058E];
    _t0590 = 1;
    _t0591 = t00E5[_t0590];
    _t0592 = [_t058F, _t0591];
    pos00EC = +000F<$[2]> (_t058D, _t0592);
    bool _t0593;
    _t0594 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t0594
      _t0593 = inside007D<#2; %2; $[]> (v1600CC, T00A3);
    else
      _t0593 = false;
    if _t0593 {
      _t0595 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0596 = @0060<#2; %2; $[]> (T00A3, v1600CC);
      _t0597 = -0016<$[]> (_t0595, _t0596);
      _t0598 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0599 = @0060<#2; %2; $[]> (T00A3, v1600CC);
      _t059A = -0016<$[]> (_t0598, _t0599);
      _t059B = *001C (_t0597, _t059A);
      score00E9 = +000F<$[]> (score00E9, _t059B);
    }
    _t059C = •0079<$[2]; $[2]; $[]> (r000EA, v1700CE);
    _t059D = •0079<$[2]; $[2]; $[]> (r100EB, v1700CE);
    _t059E = [_t059C, _t059D];
    _t059F = 0;
    _t05A0 = t00E5[_t059F];
    _t05A1 = 1;
    _t05A2 = t00E5[_t05A1];
    _t05A3 = [_t05A0, _t05A2];
    pos00EC = +000F<$[2]> (_t059E, _t05A3);
    bool _t05A4;
    _t05A5 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t05A5
      _t05A4 = inside007D<#2; %2; $[]> (v1700CE, T00A3);
    else
      _t05A4 = false;
    if _t05A4 {
      _t05A6 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05A7 = @0060<#2; %2; $[]> (T00A3, v1700CE);
      _t05A8 = -0016<$[]> (_t05A6, _t05A7);
      _t05A9 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05AA = @0060<#2; %2; $[]> (T00A3, v1700CE);
      _t05AB = -0016<$[]> (_t05A9, _t05AA);
      _t05AC = *001C (_t05A8, _t05AB);
      score00E9 = +000F<$[]> (score00E9, _t05AC);
    }
    _t05AD = •0079<$[2]; $[2]; $[]> (r000EA, v1800D0);
    _t05AE = •0079<$[2]; $[2]; $[]> (r100EB, v1800D0);
    _t05AF = [_t05AD, _t05AE];
    _t05B0 = 0;
    _t05B1 = t00E5[_t05B0];
    _t05B2 = 1;
    _t05B3 = t00E5[_t05B2];
    _t05B4 = [_t05B1, _t05B3];
    pos00EC = +000F<$[2]> (_t05AF, _t05B4);
    bool _t05B5;
    _t05B6 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t05B6
      _t05B5 = inside007D<#2; %2; $[]> (v1800D0, T00A3);
    else
      _t05B5 = false;
    if _t05B5 {
      _t05B7 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05B8 = @0060<#2; %2; $[]> (T00A3, v1800D0);
      _t05B9 = -0016<$[]> (_t05B7, _t05B8);
      _t05BA = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05BB = @0060<#2; %2; $[]> (T00A3, v1800D0);
      _t05BC = -0016<$[]> (_t05BA, _t05BB);
      _t05BD = *001C (_t05B9, _t05BC);
      score00E9 = +000F<$[]> (score00E9, _t05BD);
    }
    _t05BE = •0079<$[2]; $[2]; $[]> (r000EA, v1900D3);
    _t05BF = •0079<$[2]; $[2]; $[]> (r100EB, v1900D3);
    _t05C0 = [_t05BE, _t05BF];
    _t05C1 = 0;
    _t05C2 = t00E5[_t05C1];
    _t05C3 = 1;
    _t05C4 = t00E5[_t05C3];
    _t05C5 = [_t05C2, _t05C4];
    pos00EC = +000F<$[2]> (_t05C0, _t05C5);
    bool _t05C6;
    _t05C7 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t05C7
      _t05C6 = inside007D<#2; %2; $[]> (v1900D3, T00A3);
    else
      _t05C6 = false;
    if _t05C6 {
      _t05C8 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05C9 = @0060<#2; %2; $[]> (T00A3, v1900D3);
      _t05CA = -0016<$[]> (_t05C8, _t05C9);
      _t05CB = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05CC = @0060<#2; %2; $[]> (T00A3, v1900D3);
      _t05CD = -0016<$[]> (_t05CB, _t05CC);
      _t05CE = *001C (_t05CA, _t05CD);
      score00E9 = +000F<$[]> (score00E9, _t05CE);
    }
    _t05CF = •0079<$[2]; $[2]; $[]> (r000EA, v2000D6);
    _t05D0 = •0079<$[2]; $[2]; $[]> (r100EB, v2000D6);
    _t05D1 = [_t05CF, _t05D0];
    _t05D2 = 0;
    _t05D3 = t00E5[_t05D2];
    _t05D4 = 1;
    _t05D5 = t00E5[_t05D4];
    _t05D6 = [_t05D3, _t05D5];
    pos00EC = +000F<$[2]> (_t05D1, _t05D6);
    bool _t05D7;
    _t05D8 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t05D8
      _t05D7 = inside007D<#2; %2; $[]> (v2000D6, T00A3);
    else
      _t05D7 = false;
    if _t05D7 {
      _t05D9 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05DA = @0060<#2; %2; $[]> (T00A3, v2000D6);
      _t05DB = -0016<$[]> (_t05D9, _t05DA);
      _t05DC = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05DD = @0060<#2; %2; $[]> (T00A3, v2000D6);
      _t05DE = -0016<$[]> (_t05DC, _t05DD);
      _t05DF = *001C (_t05DB, _t05DE);
      score00E9 = +000F<$[]> (score00E9, _t05DF);
    }
    _t05E0 = •0079<$[2]; $[2]; $[]> (r000EA, v2100D8);
    _t05E1 = •0079<$[2]; $[2]; $[]> (r100EB, v2100D8);
    _t05E2 = [_t05E0, _t05E1];
    _t05E3 = 0;
    _t05E4 = t00E5[_t05E3];
    _t05E5 = 1;
    _t05E6 = t00E5[_t05E5];
    _t05E7 = [_t05E4, _t05E6];
    pos00EC = +000F<$[2]> (_t05E2, _t05E7);
    bool _t05E8;
    _t05E9 = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t05E9
      _t05E8 = inside007D<#2; %2; $[]> (v2100D8, T00A3);
    else
      _t05E8 = false;
    if _t05E8 {
      _t05EA = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05EB = @0060<#2; %2; $[]> (T00A3, v2100D8);
      _t05EC = -0016<$[]> (_t05EA, _t05EB);
      _t05ED = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05EE = @0060<#2; %2; $[]> (T00A3, v2100D8);
      _t05EF = -0016<$[]> (_t05ED, _t05EE);
      _t05F0 = *001C (_t05EC, _t05EF);
      score00E9 = +000F<$[]> (score00E9, _t05F0);
    }
    _t05F1 = •0079<$[2]; $[2]; $[]> (r000EA, v2200DA);
    _t05F2 = •0079<$[2]; $[2]; $[]> (r100EB, v2200DA);
    _t05F3 = [_t05F1, _t05F2];
    _t05F4 = 0;
    _t05F5 = t00E5[_t05F4];
    _t05F6 = 1;
    _t05F7 = t00E5[_t05F6];
    _t05F8 = [_t05F5, _t05F7];
    pos00EC = +000F<$[2]> (_t05F3, _t05F8);
    bool _t05F9;
    _t05FA = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t05FA
      _t05F9 = inside007D<#2; %2; $[]> (v2200DA, T00A3);
    else
      _t05F9 = false;
    if _t05F9 {
      _t05FB = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05FC = @0060<#2; %2; $[]> (T00A3, v2200DA);
      _t05FD = -0016<$[]> (_t05FB, _t05FC);
      _t05FE = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t05FF = @0060<#2; %2; $[]> (T00A3, v2200DA);
      _t0600 = -0016<$[]> (_t05FE, _t05FF);
      _t0601 = *001C (_t05FD, _t0600);
      score00E9 = +000F<$[]> (score00E9, _t0601);
    }
    _t0602 = •0079<$[2]; $[2]; $[]> (r000EA, v2300DC);
    _t0603 = •0079<$[2]; $[2]; $[]> (r100EB, v2300DC);
    _t0604 = [_t0602, _t0603];
    _t0605 = 0;
    _t0606 = t00E5[_t0605];
    _t0607 = 1;
    _t0608 = t00E5[_t0607];
    _t0609 = [_t0606, _t0608];
    pos00EC = +000F<$[2]> (_t0604, _t0609);
    bool _t060A;
    _t060B = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t060B
      _t060A = inside007D<#2; %2; $[]> (v2300DC, T00A3);
    else
      _t060A = false;
    if _t060A {
      _t060C = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t060D = @0060<#2; %2; $[]> (T00A3, v2300DC);
      _t060E = -0016<$[]> (_t060C, _t060D);
      _t060F = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0610 = @0060<#2; %2; $[]> (T00A3, v2300DC);
      _t0611 = -0016<$[]> (_t060F, _t0610);
      _t0612 = *001C (_t060E, _t0611);
      score00E9 = +000F<$[]> (score00E9, _t0612);
    }
    _t0613 = •0079<$[2]; $[2]; $[]> (r000EA, v2400DF);
    _t0614 = •0079<$[2]; $[2]; $[]> (r100EB, v2400DF);
    _t0615 = [_t0613, _t0614];
    _t0616 = 0;
    _t0617 = t00E5[_t0616];
    _t0618 = 1;
    _t0619 = t00E5[_t0618];
    _t061A = [_t0617, _t0619];
    pos00EC = +000F<$[2]> (_t0615, _t061A);
    bool _t061B;
    _t061C = inside007D<#2; %2; $[]> (pos00EC, F00AC);
    if _t061C
      _t061B = inside007D<#2; %2; $[]> (v2400DF, T00A3);
    else
      _t061B = false;
    if _t061B {
      _t061D = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t061E = @0060<#2; %2; $[]> (T00A3, v2400DF);
      _t061F = -0016<$[]> (_t061D, _t061E);
      _t0620 = @0060<#2; %2; $[]> (F00AC, pos00EC);
      _t0621 = @0060<#2; %2; $[]> (T00A3, v2400DF);
      _t0622 = -0016<$[]> (_t0620, _t0621);
      _t0623 = *001C (_t061F, _t0622);
      score00E9 = +000F<$[]> (score00E9, _t0623);
    }
    stabilize;
  }
  Stabilize
  { }
}
/* Program end */
##### HighIL after translation to HighIL ####
## properties
  none
## globals
  global field T0630#75
  global field F0638#75
  global tensor[2] v00063E#5
  global tensor[2] v010644#5
  global tensor[2] v02064A#5
  global tensor[2] v030652#5
  global tensor[2] v04065A#5
  global tensor[2] v050660#5
  global tensor[2] v060666#5
  global tensor[2] v07066C#5
  global tensor[2] v080674#5
  global tensor[2] v09067C#5
  global tensor[2] v100682#5
  global tensor[2] v110688#5
  global tensor[2] v12068E#5
  global tensor[2] v130696#5
  global tensor[2] v14069E#5
  global tensor[2] v1506A6#5
  global tensor[2] v1606AE#5
  global tensor[2] v1706B6#5
  global tensor[2] v1806C0#5
  global tensor[2] v1906CA#5
  global tensor[2] v2006D2#5
  global tensor[2] v2106DA#5
  global tensor[2] v2206E2#5
  global tensor[2] v2306EC#5
  global tensor[2] v2406F6#5
  global kernel _t062A#1
  global string _t062C#1
  global image2D _t062E#1
  global kernel _t0632#1
  global string _t0634#1
  global image2D _t0636#1
  global real _t063A#1
  global real _t063C#1
  global real _t0640#1
  global real _t0642#1
  global real _t0646#1
  global real _t0648#1
  global real _t064C#1
  global real _t064E#1
  global real _t0650#1
  global real _t0654#1
  global real _t0656#1
  global real _t0658#1
  global real _t065C#1
  global real _t065E#1
  global real _t0662#1
  global real _t0664#1
  global real _t0668#1
  global real _t066A#1
  global real _t066E#1
  global real _t0670#1
  global real _t0672#1
  global real _t0676#1
  global real _t0678#1
  global real _t067A#1
  global real _t067E#1
  global real _t0680#1
  global real _t0684#1
  global real _t0686#1
  global real _t068A#1
  global real _t068C#1
  global real _t0690#1
  global real _t0692#1
  global real _t0694#1
  global real _t0698#1
  global real _t069A#1
  global real _t069C#1
  global real _t06A0#1
  global real _t06A2#1
  global real _t06A4#1
  global real _t06A8#1
  global real _t06AA#1
  global real _t06AC#1
  global real _t06B0#1
  global real _t06B2#1
  global real _t06B4#1
  global real _t06B8#1
  global real _t06BA#1
  global real _t06BC#1
  global real _t06BE#1
  global real _t06C2#1
  global real _t06C4#1
  global real _t06C6#1
  global real _t06C8#1
  global real _t06CC#1
  global real _t06CE#1
  global real _t06D0#1
  global real _t06D4#1
  global real _t06D6#1
  global real _t06D8#1
  global real _t06DC#1
  global real _t06DE#1
  global real _t06E0#1
  global real _t06E4#1
  global real _t06E6#1
  global real _t06E8#1
  global real _t06EA#1
  global real _t06EE#1
  global real _t06F0#1
  global real _t06F2#1
  global real _t06F4#1
## global initialization
  ENTRY06F8:  preds = []
    kernel _t062A#1 = Kernel<bspln3,0>;
    string _t062C#1 = "square-template.nrrd";
    image2D _t062E#1 = LoadImage<IMAGE2D<int>>(_t062C);
    field T0630#75 = Field<2>(_t062E,_t062A);
    kernel _t0632#1 = Kernel<bspln3,0>;
    string _t0634#1 = "square-rotate.nrrd";
    image2D _t0636#1 = LoadImage<IMAGE2D<float>>(_t0634);
    field F0638#75 = Field<2>(_t0636,_t0632);
    real _t063A#1 = 0.0;
    real _t063C#1 = 0.0;
    tensor[2] v00063E#5 = <tensor[2]>[_t063A,_t063C];
    real _t0640#1 = 0.0;
    real _t0642#1 = 0.25e0;
    tensor[2] v010644#5 = <tensor[2]>[_t0640,_t0642];
    real _t0646#1 = 0.0;
    real _t0648#1 = 0.5e0;
    tensor[2] v02064A#5 = <tensor[2]>[_t0646,_t0648];
    real _t064C#1 = 0.0;
    real _t064E#1 = 0.25e0;
    real _t0650#1 = Neg<real>(_t064E);
    tensor[2] v030652#5 = <tensor[2]>[_t064C,_t0650];
    real _t0654#1 = 0.0;
    real _t0656#1 = 0.5e0;
    real _t0658#1 = Neg<real>(_t0656);
    tensor[2] v04065A#5 = <tensor[2]>[_t0654,_t0658];
    real _t065C#1 = 0.25e0;
    real _t065E#1 = 0.0;
    tensor[2] v050660#5 = <tensor[2]>[_t065C,_t065E];
    real _t0662#1 = 0.25e0;
    real _t0664#1 = 0.25e0;
    tensor[2] v060666#5 = <tensor[2]>[_t0662,_t0664];
    real _t0668#1 = 0.25e0;
    real _t066A#1 = 0.5e0;
    tensor[2] v07066C#5 = <tensor[2]>[_t0668,_t066A];
    real _t066E#1 = 0.25e0;
    real _t0670#1 = 0.25e0;
    real _t0672#1 = Neg<real>(_t0670);
    tensor[2] v080674#5 = <tensor[2]>[_t066E,_t0672];
    real _t0676#1 = 0.25e0;
    real _t0678#1 = 0.5e0;
    real _t067A#1 = Neg<real>(_t0678);
    tensor[2] v09067C#5 = <tensor[2]>[_t0676,_t067A];
    real _t067E#1 = 0.5e0;
    real _t0680#1 = 0.0;
    tensor[2] v100682#5 = <tensor[2]>[_t067E,_t0680];
    real _t0684#1 = 0.5e0;
    real _t0686#1 = 0.25e0;
    tensor[2] v110688#5 = <tensor[2]>[_t0684,_t0686];
    real _t068A#1 = 0.5e0;
    real _t068C#1 = 0.5e0;
    tensor[2] v12068E#5 = <tensor[2]>[_t068A,_t068C];
    real _t0690#1 = 0.5e0;
    real _t0692#1 = 0.25e0;
    real _t0694#1 = Neg<real>(_t0692);
    tensor[2] v130696#5 = <tensor[2]>[_t0690,_t0694];
    real _t0698#1 = 0.5e0;
    real _t069A#1 = 0.5e0;
    real _t069C#1 = Neg<real>(_t069A);
    tensor[2] v14069E#5 = <tensor[2]>[_t0698,_t069C];
    real _t06A0#1 = 0.25e0;
    real _t06A2#1 = Neg<real>(_t06A0);
    real _t06A4#1 = 0.0;
    tensor[2] v1506A6#5 = <tensor[2]>[_t06A2,_t06A4];
    real _t06A8#1 = 0.25e0;
    real _t06AA#1 = Neg<real>(_t06A8);
    real _t06AC#1 = 0.25e0;
    tensor[2] v1606AE#5 = <tensor[2]>[_t06AA,_t06AC];
    real _t06B0#1 = 0.25e0;
    real _t06B2#1 = Neg<real>(_t06B0);
    real _t06B4#1 = 0.5e0;
    tensor[2] v1706B6#5 = <tensor[2]>[_t06B2,_t06B4];
    real _t06B8#1 = 0.25e0;
    real _t06BA#1 = Neg<real>(_t06B8);
    real _t06BC#1 = 0.25e0;
    real _t06BE#1 = Neg<real>(_t06BC);
    tensor[2] v1806C0#5 = <tensor[2]>[_t06BA,_t06BE];
    real _t06C2#1 = 0.25e0;
    real _t06C4#1 = Neg<real>(_t06C2);
    real _t06C6#1 = 0.5e0;
    real _t06C8#1 = Neg<real>(_t06C6);
    tensor[2] v1906CA#5 = <tensor[2]>[_t06C4,_t06C8];
    real _t06CC#1 = 0.5e0;
    real _t06CE#1 = Neg<real>(_t06CC);
    real _t06D0#1 = 0.0;
    tensor[2] v2006D2#5 = <tensor[2]>[_t06CE,_t06D0];
    real _t06D4#1 = 0.5e0;
    real _t06D6#1 = Neg<real>(_t06D4);
    real _t06D8#1 = 0.25e0;
    tensor[2] v2106DA#5 = <tensor[2]>[_t06D6,_t06D8];
    real _t06DC#1 = 0.5e0;
    real _t06DE#1 = Neg<real>(_t06DC);
    real _t06E0#1 = 0.5e0;
    tensor[2] v2206E2#5 = <tensor[2]>[_t06DE,_t06E0];
    real _t06E4#1 = 0.5e0;
    real _t06E6#1 = Neg<real>(_t06E4);
    real _t06E8#1 = 0.25e0;
    real _t06EA#1 = Neg<real>(_t06E8);
    tensor[2] v2306EC#5 = <tensor[2]>[_t06E6,_t06EA];
    real _t06EE#1 = 0.5e0;
    real _t06F0#1 = Neg<real>(_t06EE);
    real _t06F2#1 = 0.5e0;
    real _t06F4#1 = Neg<real>(_t06F2);
    tensor[2] v2406F6#5 = <tensor[2]>[_t06F0,_t06F4];
    return (T0630,F0638,v00063E,v010644,v02064A,v030652,v04065A,v050660,v060666,v07066C,v080674,v09067C,v100682,v110688,v12068E,v130696,v14069E,v1506A6,v1606AE,v1706B6,v1806C0,v1906CA,v2006D2,v2106DA,v2206E2,v2306EC,v2406F6,_t062A,_t062C,_t062E,_t0632,_t0634,_t0636,_t063A,_t063C,_t0640,_t0642,_t0646,_t0648,_t064C,_t064E,_t0650,_t0654,_t0656,_t0658,_t065C,_t065E,_t0662,_t0664,_t0668,_t066A,_t066E,_t0670,_t0672,_t0676,_t0678,_t067A,_t067E,_t0680,_t0684,_t0686,_t068A,_t068C,_t0690,_t0692,_t0694,_t0698,_t069A,_t069C,_t06A0,_t06A2,_t06A4,_t06A8,_t06AA,_t06AC,_t06B0,_t06B2,_t06B4,_t06B8,_t06BA,_t06BC,_t06BE,_t06C2,_t06C4,_t06C6,_t06C8,_t06CC,_t06CE,_t06D0,_t06D4,_t06D6,_t06D8,_t06DC,_t06DE,_t06E0,_t06E4,_t06E6,_t06E8,_t06EA,_t06EE,_t06F0,_t06F2,_t06F4)
## initially
  ARRAY
    ENTRY0706:  preds = []
      int _t06FA#2 = 0;
      int _t06FC#2 = 60;
      int _t06FE#2 = 0;
      int _t0700#2 = 60;
      int _t0702#2 = 0;
      int _t0704#2 = 60;
      live vars = (_t0704,_t0702,_t0700,_t06FE,_t06FC,_t06FA)
    for int i0708#1 = _t06FA .. _t06FC
      for int j0709#1 = _t06FE .. _t0700
        for int k070A#1 = _t0702 .. _t0704
          ENTRY070B:  preds = []
            live vars = ()
          new R(i0708,j0709,k070A);
## strands
  strand R (int i070D#1, int j070E#1, int k070F#1)
    state: tensor[3] self.t;output real self.score;tensor[2] self.r0;tensor[2] self.r1;tensor[2] self.pos;
      ENTRY0749:  preds = []
        real _t0715#1 = IntToReal(i070D);
        real _t0717#1 = 0.60e2;
        real _t0719#1 = Div<real>(_t0715,_t0717);
        real _t071B#1 = 0.5e0;
        real _t071D#1 = Sub<real>(_t0719,_t071B);
        real _t071F#1 = IntToReal(j070E);
        real _t0721#1 = 0.60e2;
        real _t0723#1 = Div<real>(_t071F,_t0721);
        real _t0725#1 = 0.5e0;
        real _t0727#1 = Sub<real>(_t0723,_t0725);
        real _t0729#1 = IntToReal(k070F);
        real _t072B#1 = 0.60e2;
        real _t072D#1 = Div<real>(_t0729,_t072B);
        real _t072F#1 = 0.5e0;
        real _t0731#1 = Sub<real>(_t072D,_t072F);
        tensor[3] t0733#1 = <tensor[3]>[_t071D,_t0727,_t0731];
        real score0735#1 = 0.0;
        real _t0737#1 = 0.0;
        real _t0739#1 = 0.0;
        tensor[2] r0073B#1 = <tensor[2]>[_t0737,_t0739];
        real _t073D#1 = 0.0;
        real _t073F#1 = 0.0;
        tensor[2] r10741#1 = <tensor[2]>[_t073D,_t073F];
        real _t0743#1 = 0.0;
        real _t0745#1 = 0.0;
        tensor[2] pos0747#1 = <tensor[2]>[_t0743,_t0745];
        self.t = t0733;
        self.score = score0735;
        self.r0 = r0073B;
        self.r1 = r10741;
        self.pos = pos0747;
        strand_init ()
    method Update
        ENTRY0C55:  preds = []
          tensor[3] t0750#61 = self.t;
          real score0751#2 = self.score;
          tensor[2] r00752#0 = self.r0;
          tensor[2] r10753#0 = self.r1;
          tensor[2] pos0754#0 = self.pos;
          real _t075A#1 = 0.1e1;
          real _t075C#1 = 0.2e1;
          int _t075E#1 = 2;
          real _t0760#1 = TensorSub<tensor[3]>(t0750,_t075E);
          real _t0762#1 = Mul<real>(_t075C,_t0760);
          int _t0764#1 = 2;
          real _t0766#1 = TensorSub<tensor[3]>(t0750,_t0764);
          real _t0768#1 = Mul<real>(_t0762,_t0766);
          real _t076A#1 = Sub<real>(_t075A,_t0768);
          real _t076C#1 = 0.2e1;
          real _t076E#1 = Neg<real>(_t076C);
          real _t0770#1 = 0.1e1;
          int _t0772#1 = 2;
          real _t0774#1 = TensorSub<tensor[3]>(t0750,_t0772);
          int _t0776#1 = 2;
          real _t0778#1 = TensorSub<tensor[3]>(t0750,_t0776);
          real _t077A#1 = Mul<real>(_t0774,_t0778);
          real _t077C#1 = Sub<real>(_t0770,_t077A);
          real _t077E#1 = sqrt(_t077C);
          real _t0780#1 = Mul<real>(_t076E,_t077E);
          int _t0782#1 = 2;
          real _t0784#1 = TensorSub<tensor[3]>(t0750,_t0782);
          real _t0786#1 = Mul<real>(_t0780,_t0784);
          tensor[2] r00788#26 = <tensor[2]>[_t076A,_t0786];
          real _t078A#1 = 0.2e1;
          real _t078C#1 = 0.1e1;
          int _t078E#1 = 2;
          real _t0790#1 = TensorSub<tensor[3]>(t0750,_t078E);
          int _t0792#1 = 2;
          real _t0794#1 = TensorSub<tensor[3]>(t0750,_t0792);
          real _t0796#1 = Mul<real>(_t0790,_t0794);
          real _t0798#1 = Sub<real>(_t078C,_t0796);
          real _t079A#1 = sqrt(_t0798);
          real _t079C#1 = Mul<real>(_t078A,_t079A);
          int _t079E#1 = 2;
          real _t07A0#1 = TensorSub<tensor[3]>(t0750,_t079E);
          real _t07A2#1 = Mul<real>(_t079C,_t07A0);
          real _t07A4#1 = 0.1e1;
          real _t07A6#1 = 0.2e1;
          int _t07A8#1 = 2;
          real _t07AA#1 = TensorSub<tensor[3]>(t0750,_t07A8);
          real _t07AC#1 = Mul<real>(_t07A6,_t07AA);
          int _t07AE#1 = 2;
          real _t07B0#1 = TensorSub<tensor[3]>(t0750,_t07AE);
          real _t07B2#1 = Mul<real>(_t07AC,_t07B0);
          real _t07B4#1 = Sub<real>(_t07A4,_t07B2);
          tensor[2] r107B6#26 = <tensor[2]>[_t07A2,_t07B4];
          real _t07B8#1 = Dot<tensor[2]>(r00788,v00063E);
          real _t07BA#1 = Dot<tensor[2]>(r107B6,v00063E);
          tensor[2] _t07BC#1 = <tensor[2]>[_t07B8,_t07BA];
          int _t07BE#1 = 0;
          real _t07C0#1 = TensorSub<tensor[3]>(t0750,_t07BE);
          int _t07C2#1 = 1;
          real _t07C4#1 = TensorSub<tensor[3]>(t0750,_t07C2);
          tensor[2] _t07C6#1 = <tensor[2]>[_t07C0,_t07C4];
          tensor[2] pos07C8#3 = Add<tensor[2]>(_t07BC,_t07C6);
          bool _t07CB#1 = Inside<2>(pos07C8,F0638);
          if _t07CB then goto ASSIGN07D0 else goto ASSIGN07D2
        ASSIGN07D0:  preds = [COND07D3]
          bool _t07CE#1 = Inside<2>(v00063E,T0630);
          goto JOIN07CD
        JOIN07CD:  preds = [ASSIGN07D0,ASSIGN07D2]
          bool _t07CF#1 = phi(_t07CE,_t07D1)
          if _t07CF then goto ASSIGN07D6 else goto JOIN07D4
        ASSIGN07D6:  preds = [COND07E6]
          real _t07D5#1 = Probe<tensor[2],real>(F0638,pos07C8);
          real _t07D7#1 = Probe<tensor[2],real>(T0630,v00063E);
          real _t07D9#1 = Sub<real>(_t07D5,_t07D7);
          real _t07DB#1 = Probe<tensor[2],real>(F0638,pos07C8);
          real _t07DD#1 = Probe<tensor[2],real>(T0630,v00063E);
          real _t07DF#1 = Sub<real>(_t07DB,_t07DD);
          real _t07E1#1 = Mul<real>(_t07D9,_t07DF);
          real score07E3#1 = Add<real>(score0751,_t07E1);
          goto JOIN07D4
        JOIN07D4:  preds = [ASSIGN07E5,COND07E6]
          real score07E4#2 = phi(score07E3,score0751)
          real _t07E7#1 = Dot<tensor[2]>(r00788,v010644);
          real _t07E9#1 = Dot<tensor[2]>(r107B6,v010644);
          tensor[2] _t07EB#1 = <tensor[2]>[_t07E7,_t07E9];
          int _t07ED#1 = 0;
          real _t07EF#1 = TensorSub<tensor[3]>(t0750,_t07ED);
          int _t07F1#1 = 1;
          real _t07F3#1 = TensorSub<tensor[3]>(t0750,_t07F1);
          tensor[2] _t07F5#1 = <tensor[2]>[_t07EF,_t07F3];
          tensor[2] pos07F7#3 = Add<tensor[2]>(_t07EB,_t07F5);
          bool _t07FA#1 = Inside<2>(pos07F7,F0638);
          if _t07FA then goto ASSIGN07FF else goto ASSIGN0801
        ASSIGN07FF:  preds = [COND0802]
          bool _t07FD#1 = Inside<2>(v010644,T0630);
          goto JOIN07FC
        JOIN07FC:  preds = [ASSIGN07FF,ASSIGN0801]
          bool _t07FE#1 = phi(_t07FD,_t0800)
          if _t07FE then goto ASSIGN0805 else goto JOIN0803
        ASSIGN0805:  preds = [COND0815]
          real _t0804#1 = Probe<tensor[2],real>(F0638,pos07F7);
          real _t0806#1 = Probe<tensor[2],real>(T0630,v010644);
          real _t0808#1 = Sub<real>(_t0804,_t0806);
          real _t080A#1 = Probe<tensor[2],real>(F0638,pos07F7);
          real _t080C#1 = Probe<tensor[2],real>(T0630,v010644);
          real _t080E#1 = Sub<real>(_t080A,_t080C);
          real _t0810#1 = Mul<real>(_t0808,_t080E);
          real score0812#1 = Add<real>(score07E4,_t0810);
          goto JOIN0803
        JOIN0803:  preds = [ASSIGN0814,COND0815]
          real score0813#2 = phi(score0812,score07E4)
          real _t0816#1 = Dot<tensor[2]>(r00788,v02064A);
          real _t0818#1 = Dot<tensor[2]>(r107B6,v02064A);
          tensor[2] _t081A#1 = <tensor[2]>[_t0816,_t0818];
          int _t081C#1 = 0;
          real _t081E#1 = TensorSub<tensor[3]>(t0750,_t081C);
          int _t0820#1 = 1;
          real _t0822#1 = TensorSub<tensor[3]>(t0750,_t0820);
          tensor[2] _t0824#1 = <tensor[2]>[_t081E,_t0822];
          tensor[2] pos0826#3 = Add<tensor[2]>(_t081A,_t0824);
          bool _t0829#1 = Inside<2>(pos0826,F0638);
          if _t0829 then goto ASSIGN082E else goto ASSIGN0830
        ASSIGN082E:  preds = [COND0831]
          bool _t082C#1 = Inside<2>(v02064A,T0630);
          goto JOIN082B
        JOIN082B:  preds = [ASSIGN082E,ASSIGN0830]
          bool _t082D#1 = phi(_t082C,_t082F)
          if _t082D then goto ASSIGN0834 else goto JOIN0832
        ASSIGN0834:  preds = [COND0844]
          real _t0833#1 = Probe<tensor[2],real>(F0638,pos0826);
          real _t0835#1 = Probe<tensor[2],real>(T0630,v02064A);
          real _t0837#1 = Sub<real>(_t0833,_t0835);
          real _t0839#1 = Probe<tensor[2],real>(F0638,pos0826);
          real _t083B#1 = Probe<tensor[2],real>(T0630,v02064A);
          real _t083D#1 = Sub<real>(_t0839,_t083B);
          real _t083F#1 = Mul<real>(_t0837,_t083D);
          real score0841#1 = Add<real>(score0813,_t083F);
          goto JOIN0832
        JOIN0832:  preds = [ASSIGN0843,COND0844]
          real score0842#2 = phi(score0841,score0813)
          real _t0845#1 = Dot<tensor[2]>(r00788,v030652);
          real _t0847#1 = Dot<tensor[2]>(r107B6,v030652);
          tensor[2] _t0849#1 = <tensor[2]>[_t0845,_t0847];
          int _t084B#1 = 0;
          real _t084D#1 = TensorSub<tensor[3]>(t0750,_t084B);
          int _t084F#1 = 1;
          real _t0851#1 = TensorSub<tensor[3]>(t0750,_t084F);
          tensor[2] _t0853#1 = <tensor[2]>[_t084D,_t0851];
          tensor[2] pos0855#3 = Add<tensor[2]>(_t0849,_t0853);
          bool _t0858#1 = Inside<2>(pos0855,F0638);
          if _t0858 then goto ASSIGN085D else goto ASSIGN085F
        ASSIGN085D:  preds = [COND0860]
          bool _t085B#1 = Inside<2>(v030652,T0630);
          goto JOIN085A
        JOIN085A:  preds = [ASSIGN085D,ASSIGN085F]
          bool _t085C#1 = phi(_t085B,_t085E)
          if _t085C then goto ASSIGN0863 else goto JOIN0861
        ASSIGN0863:  preds = [COND0873]
          real _t0862#1 = Probe<tensor[2],real>(F0638,pos0855);
          real _t0864#1 = Probe<tensor[2],real>(T0630,v030652);
          real _t0866#1 = Sub<real>(_t0862,_t0864);
          real _t0868#1 = Probe<tensor[2],real>(F0638,pos0855);
          real _t086A#1 = Probe<tensor[2],real>(T0630,v030652);
          real _t086C#1 = Sub<real>(_t0868,_t086A);
          real _t086E#1 = Mul<real>(_t0866,_t086C);
          real score0870#1 = Add<real>(score0842,_t086E);
          goto JOIN0861
        JOIN0861:  preds = [ASSIGN0872,COND0873]
          real score0871#2 = phi(score0870,score0842)
          real _t0874#1 = Dot<tensor[2]>(r00788,v04065A);
          real _t0876#1 = Dot<tensor[2]>(r107B6,v04065A);
          tensor[2] _t0878#1 = <tensor[2]>[_t0874,_t0876];
          int _t087A#1 = 0;
          real _t087C#1 = TensorSub<tensor[3]>(t0750,_t087A);
          int _t087E#1 = 1;
          real _t0880#1 = TensorSub<tensor[3]>(t0750,_t087E);
          tensor[2] _t0882#1 = <tensor[2]>[_t087C,_t0880];
          tensor[2] pos0884#3 = Add<tensor[2]>(_t0878,_t0882);
          bool _t0887#1 = Inside<2>(pos0884,F0638);
          if _t0887 then goto ASSIGN088C else goto ASSIGN088E
        ASSIGN088C:  preds = [COND088F]
          bool _t088A#1 = Inside<2>(v04065A,T0630);
          goto JOIN0889
        JOIN0889:  preds = [ASSIGN088C,ASSIGN088E]
          bool _t088B#1 = phi(_t088A,_t088D)
          if _t088B then goto ASSIGN0892 else goto JOIN0890
        ASSIGN0892:  preds = [COND08A2]
          real _t0891#1 = Probe<tensor[2],real>(F0638,pos0884);
          real _t0893#1 = Probe<tensor[2],real>(T0630,v04065A);
          real _t0895#1 = Sub<real>(_t0891,_t0893);
          real _t0897#1 = Probe<tensor[2],real>(F0638,pos0884);
          real _t0899#1 = Probe<tensor[2],real>(T0630,v04065A);
          real _t089B#1 = Sub<real>(_t0897,_t0899);
          real _t089D#1 = Mul<real>(_t0895,_t089B);
          real score089F#1 = Add<real>(score0871,_t089D);
          goto JOIN0890
        JOIN0890:  preds = [ASSIGN08A1,COND08A2]
          real score08A0#2 = phi(score089F,score0871)
          real _t08A3#1 = Dot<tensor[2]>(r00788,v050660);
          real _t08A5#1 = Dot<tensor[2]>(r107B6,v050660);
          tensor[2] _t08A7#1 = <tensor[2]>[_t08A3,_t08A5];
          int _t08A9#1 = 0;
          real _t08AB#1 = TensorSub<tensor[3]>(t0750,_t08A9);
          int _t08AD#1 = 1;
          real _t08AF#1 = TensorSub<tensor[3]>(t0750,_t08AD);
          tensor[2] _t08B1#1 = <tensor[2]>[_t08AB,_t08AF];
          tensor[2] pos08B3#3 = Add<tensor[2]>(_t08A7,_t08B1);
          bool _t08B6#1 = Inside<2>(pos08B3,F0638);
          if _t08B6 then goto ASSIGN08BB else goto ASSIGN08BD
        ASSIGN08BB:  preds = [COND08BE]
          bool _t08B9#1 = Inside<2>(v050660,T0630);
          goto JOIN08B8
        JOIN08B8:  preds = [ASSIGN08BB,ASSIGN08BD]
          bool _t08BA#1 = phi(_t08B9,_t08BC)
          if _t08BA then goto ASSIGN08C1 else goto JOIN08BF
        ASSIGN08C1:  preds = [COND08D1]
          real _t08C0#1 = Probe<tensor[2],real>(F0638,pos08B3);
          real _t08C2#1 = Probe<tensor[2],real>(T0630,v050660);
          real _t08C4#1 = Sub<real>(_t08C0,_t08C2);
          real _t08C6#1 = Probe<tensor[2],real>(F0638,pos08B3);
          real _t08C8#1 = Probe<tensor[2],real>(T0630,v050660);
          real _t08CA#1 = Sub<real>(_t08C6,_t08C8);
          real _t08CC#1 = Mul<real>(_t08C4,_t08CA);
          real score08CE#1 = Add<real>(score08A0,_t08CC);
          goto JOIN08BF
        JOIN08BF:  preds = [ASSIGN08D0,COND08D1]
          real score08CF#2 = phi(score08CE,score08A0)
          real _t08D2#1 = Dot<tensor[2]>(r00788,v060666);
          real _t08D4#1 = Dot<tensor[2]>(r107B6,v060666);
          tensor[2] _t08D6#1 = <tensor[2]>[_t08D2,_t08D4];
          int _t08D8#1 = 0;
          real _t08DA#1 = TensorSub<tensor[3]>(t0750,_t08D8);
          int _t08DC#1 = 1;
          real _t08DE#1 = TensorSub<tensor[3]>(t0750,_t08DC);
          tensor[2] _t08E0#1 = <tensor[2]>[_t08DA,_t08DE];
          tensor[2] pos08E2#3 = Add<tensor[2]>(_t08D6,_t08E0);
          bool _t08E5#1 = Inside<2>(pos08E2,F0638);
          if _t08E5 then goto ASSIGN08EA else goto ASSIGN08EC
        ASSIGN08EA:  preds = [COND08ED]
          bool _t08E8#1 = Inside<2>(v060666,T0630);
          goto JOIN08E7
        JOIN08E7:  preds = [ASSIGN08EA,ASSIGN08EC]
          bool _t08E9#1 = phi(_t08E8,_t08EB)
          if _t08E9 then goto ASSIGN08F0 else goto JOIN08EE
        ASSIGN08F0:  preds = [COND0900]
          real _t08EF#1 = Probe<tensor[2],real>(F0638,pos08E2);
          real _t08F1#1 = Probe<tensor[2],real>(T0630,v060666);
          real _t08F3#1 = Sub<real>(_t08EF,_t08F1);
          real _t08F5#1 = Probe<tensor[2],real>(F0638,pos08E2);
          real _t08F7#1 = Probe<tensor[2],real>(T0630,v060666);
          real _t08F9#1 = Sub<real>(_t08F5,_t08F7);
          real _t08FB#1 = Mul<real>(_t08F3,_t08F9);
          real score08FD#1 = Add<real>(score08CF,_t08FB);
          goto JOIN08EE
        JOIN08EE:  preds = [ASSIGN08FF,COND0900]
          real score08FE#2 = phi(score08FD,score08CF)
          real _t0901#1 = Dot<tensor[2]>(r00788,v07066C);
          real _t0903#1 = Dot<tensor[2]>(r107B6,v07066C);
          tensor[2] _t0905#1 = <tensor[2]>[_t0901,_t0903];
          int _t0907#1 = 0;
          real _t0909#1 = TensorSub<tensor[3]>(t0750,_t0907);
          int _t090B#1 = 1;
          real _t090D#1 = TensorSub<tensor[3]>(t0750,_t090B);
          tensor[2] _t090F#1 = <tensor[2]>[_t0909,_t090D];
          tensor[2] pos0911#3 = Add<tensor[2]>(_t0905,_t090F);
          bool _t0914#1 = Inside<2>(pos0911,F0638);
          if _t0914 then goto ASSIGN0919 else goto ASSIGN091B
        ASSIGN0919:  preds = [COND091C]
          bool _t0917#1 = Inside<2>(v07066C,T0630);
          goto JOIN0916
        JOIN0916:  preds = [ASSIGN0919,ASSIGN091B]
          bool _t0918#1 = phi(_t0917,_t091A)
          if _t0918 then goto ASSIGN091F else goto JOIN091D
        ASSIGN091F:  preds = [COND092F]
          real _t091E#1 = Probe<tensor[2],real>(F0638,pos0911);
          real _t0920#1 = Probe<tensor[2],real>(T0630,v07066C);
          real _t0922#1 = Sub<real>(_t091E,_t0920);
          real _t0924#1 = Probe<tensor[2],real>(F0638,pos0911);
          real _t0926#1 = Probe<tensor[2],real>(T0630,v07066C);
          real _t0928#1 = Sub<real>(_t0924,_t0926);
          real _t092A#1 = Mul<real>(_t0922,_t0928);
          real score092C#1 = Add<real>(score08FE,_t092A);
          goto JOIN091D
        JOIN091D:  preds = [ASSIGN092E,COND092F]
          real score092D#2 = phi(score092C,score08FE)
          real _t0930#1 = Dot<tensor[2]>(r00788,v080674);
          real _t0932#1 = Dot<tensor[2]>(r107B6,v080674);
          tensor[2] _t0934#1 = <tensor[2]>[_t0930,_t0932];
          int _t0936#1 = 0;
          real _t0938#1 = TensorSub<tensor[3]>(t0750,_t0936);
          int _t093A#1 = 1;
          real _t093C#1 = TensorSub<tensor[3]>(t0750,_t093A);
          tensor[2] _t093E#1 = <tensor[2]>[_t0938,_t093C];
          tensor[2] pos0940#3 = Add<tensor[2]>(_t0934,_t093E);
          bool _t0943#1 = Inside<2>(pos0940,F0638);
          if _t0943 then goto ASSIGN0948 else goto ASSIGN094A
        ASSIGN0948:  preds = [COND094B]
          bool _t0946#1 = Inside<2>(v080674,T0630);
          goto JOIN0945
        JOIN0945:  preds = [ASSIGN0948,ASSIGN094A]
          bool _t0947#1 = phi(_t0946,_t0949)
          if _t0947 then goto ASSIGN094E else goto JOIN094C
        ASSIGN094E:  preds = [COND095E]
          real _t094D#1 = Probe<tensor[2],real>(F0638,pos0940);
          real _t094F#1 = Probe<tensor[2],real>(T0630,v080674);
          real _t0951#1 = Sub<real>(_t094D,_t094F);
          real _t0953#1 = Probe<tensor[2],real>(F0638,pos0940);
          real _t0955#1 = Probe<tensor[2],real>(T0630,v080674);
          real _t0957#1 = Sub<real>(_t0953,_t0955);
          real _t0959#1 = Mul<real>(_t0951,_t0957);
          real score095B#1 = Add<real>(score092D,_t0959);
          goto JOIN094C
        JOIN094C:  preds = [ASSIGN095D,COND095E]
          real score095C#2 = phi(score095B,score092D)
          real _t095F#1 = Dot<tensor[2]>(r00788,v09067C);
          real _t0961#1 = Dot<tensor[2]>(r107B6,v09067C);
          tensor[2] _t0963#1 = <tensor[2]>[_t095F,_t0961];
          int _t0965#1 = 0;
          real _t0967#1 = TensorSub<tensor[3]>(t0750,_t0965);
          int _t0969#1 = 1;
          real _t096B#1 = TensorSub<tensor[3]>(t0750,_t0969);
          tensor[2] _t096D#1 = <tensor[2]>[_t0967,_t096B];
          tensor[2] pos096F#3 = Add<tensor[2]>(_t0963,_t096D);
          bool _t0972#1 = Inside<2>(pos096F,F0638);
          if _t0972 then goto ASSIGN0977 else goto ASSIGN0979
        ASSIGN0977:  preds = [COND097A]
          bool _t0975#1 = Inside<2>(v09067C,T0630);
          goto JOIN0974
        JOIN0974:  preds = [ASSIGN0977,ASSIGN0979]
          bool _t0976#1 = phi(_t0975,_t0978)
          if _t0976 then goto ASSIGN097D else goto JOIN097B
        ASSIGN097D:  preds = [COND098D]
          real _t097C#1 = Probe<tensor[2],real>(F0638,pos096F);
          real _t097E#1 = Probe<tensor[2],real>(T0630,v09067C);
          real _t0980#1 = Sub<real>(_t097C,_t097E);
          real _t0982#1 = Probe<tensor[2],real>(F0638,pos096F);
          real _t0984#1 = Probe<tensor[2],real>(T0630,v09067C);
          real _t0986#1 = Sub<real>(_t0982,_t0984);
          real _t0988#1 = Mul<real>(_t0980,_t0986);
          real score098A#1 = Add<real>(score095C,_t0988);
          goto JOIN097B
        JOIN097B:  preds = [ASSIGN098C,COND098D]
          real score098B#2 = phi(score098A,score095C)
          real _t098E#1 = Dot<tensor[2]>(r00788,v100682);
          real _t0990#1 = Dot<tensor[2]>(r107B6,v100682);
          tensor[2] _t0992#1 = <tensor[2]>[_t098E,_t0990];
          int _t0994#1 = 0;
          real _t0996#1 = TensorSub<tensor[3]>(t0750,_t0994);
          int _t0998#1 = 1;
          real _t099A#1 = TensorSub<tensor[3]>(t0750,_t0998);
          tensor[2] _t099C#1 = <tensor[2]>[_t0996,_t099A];
          tensor[2] pos099E#3 = Add<tensor[2]>(_t0992,_t099C);
          bool _t09A1#1 = Inside<2>(pos099E,F0638);
          if _t09A1 then goto ASSIGN09A6 else goto ASSIGN09A8
        ASSIGN09A6:  preds = [COND09A9]
          bool _t09A4#1 = Inside<2>(v100682,T0630);
          goto JOIN09A3
        JOIN09A3:  preds = [ASSIGN09A6,ASSIGN09A8]
          bool _t09A5#1 = phi(_t09A4,_t09A7)
          if _t09A5 then goto ASSIGN09AC else goto JOIN09AA
        ASSIGN09AC:  preds = [COND09BC]
          real _t09AB#1 = Probe<tensor[2],real>(F0638,pos099E);
          real _t09AD#1 = Probe<tensor[2],real>(T0630,v100682);
          real _t09AF#1 = Sub<real>(_t09AB,_t09AD);
          real _t09B1#1 = Probe<tensor[2],real>(F0638,pos099E);
          real _t09B3#1 = Probe<tensor[2],real>(T0630,v100682);
          real _t09B5#1 = Sub<real>(_t09B1,_t09B3);
          real _t09B7#1 = Mul<real>(_t09AF,_t09B5);
          real score09B9#1 = Add<real>(score098B,_t09B7);
          goto JOIN09AA
        JOIN09AA:  preds = [ASSIGN09BB,COND09BC]
          real score09BA#2 = phi(score09B9,score098B)
          real _t09BD#1 = Dot<tensor[2]>(r00788,v110688);
          real _t09BF#1 = Dot<tensor[2]>(r107B6,v110688);
          tensor[2] _t09C1#1 = <tensor[2]>[_t09BD,_t09BF];
          int _t09C3#1 = 0;
          real _t09C5#1 = TensorSub<tensor[3]>(t0750,_t09C3);
          int _t09C7#1 = 1;
          real _t09C9#1 = TensorSub<tensor[3]>(t0750,_t09C7);
          tensor[2] _t09CB#1 = <tensor[2]>[_t09C5,_t09C9];
          tensor[2] pos09CD#3 = Add<tensor[2]>(_t09C1,_t09CB);
          bool _t09D0#1 = Inside<2>(pos09CD,F0638);
          if _t09D0 then goto ASSIGN09D5 else goto ASSIGN09D7
        ASSIGN09D5:  preds = [COND09D8]
          bool _t09D3#1 = Inside<2>(v110688,T0630);
          goto JOIN09D2
        JOIN09D2:  preds = [ASSIGN09D5,ASSIGN09D7]
          bool _t09D4#1 = phi(_t09D3,_t09D6)
          if _t09D4 then goto ASSIGN09DB else goto JOIN09D9
        ASSIGN09DB:  preds = [COND09EB]
          real _t09DA#1 = Probe<tensor[2],real>(F0638,pos09CD);
          real _t09DC#1 = Probe<tensor[2],real>(T0630,v110688);
          real _t09DE#1 = Sub<real>(_t09DA,_t09DC);
          real _t09E0#1 = Probe<tensor[2],real>(F0638,pos09CD);
          real _t09E2#1 = Probe<tensor[2],real>(T0630,v110688);
          real _t09E4#1 = Sub<real>(_t09E0,_t09E2);
          real _t09E6#1 = Mul<real>(_t09DE,_t09E4);
          real score09E8#1 = Add<real>(score09BA,_t09E6);
          goto JOIN09D9
        JOIN09D9:  preds = [ASSIGN09EA,COND09EB]
          real score09E9#2 = phi(score09E8,score09BA)
          real _t09EC#1 = Dot<tensor[2]>(r00788,v12068E);
          real _t09EE#1 = Dot<tensor[2]>(r107B6,v12068E);
          tensor[2] _t09F0#1 = <tensor[2]>[_t09EC,_t09EE];
          int _t09F2#1 = 0;
          real _t09F4#1 = TensorSub<tensor[3]>(t0750,_t09F2);
          int _t09F6#1 = 1;
          real _t09F8#1 = TensorSub<tensor[3]>(t0750,_t09F6);
          tensor[2] _t09FA#1 = <tensor[2]>[_t09F4,_t09F8];
          tensor[2] pos09FC#3 = Add<tensor[2]>(_t09F0,_t09FA);
          bool _t09FF#1 = Inside<2>(pos09FC,F0638);
          if _t09FF then goto ASSIGN0A04 else goto ASSIGN0A06
        ASSIGN0A04:  preds = [COND0A07]
          bool _t0A02#1 = Inside<2>(v12068E,T0630);
          goto JOIN0A01
        JOIN0A01:  preds = [ASSIGN0A04,ASSIGN0A06]
          bool _t0A03#1 = phi(_t0A02,_t0A05)
          if _t0A03 then goto ASSIGN0A0A else goto JOIN0A08
        ASSIGN0A0A:  preds = [COND0A1A]
          real _t0A09#1 = Probe<tensor[2],real>(F0638,pos09FC);
          real _t0A0B#1 = Probe<tensor[2],real>(T0630,v12068E);
          real _t0A0D#1 = Sub<real>(_t0A09,_t0A0B);
          real _t0A0F#1 = Probe<tensor[2],real>(F0638,pos09FC);
          real _t0A11#1 = Probe<tensor[2],real>(T0630,v12068E);
          real _t0A13#1 = Sub<real>(_t0A0F,_t0A11);
          real _t0A15#1 = Mul<real>(_t0A0D,_t0A13);
          real score0A17#1 = Add<real>(score09E9,_t0A15);
          goto JOIN0A08
        JOIN0A08:  preds = [ASSIGN0A19,COND0A1A]
          real score0A18#2 = phi(score0A17,score09E9)
          real _t0A1B#1 = Dot<tensor[2]>(r00788,v130696);
          real _t0A1D#1 = Dot<tensor[2]>(r107B6,v130696);
          tensor[2] _t0A1F#1 = <tensor[2]>[_t0A1B,_t0A1D];
          int _t0A21#1 = 0;
          real _t0A23#1 = TensorSub<tensor[3]>(t0750,_t0A21);
          int _t0A25#1 = 1;
          real _t0A27#1 = TensorSub<tensor[3]>(t0750,_t0A25);
          tensor[2] _t0A29#1 = <tensor[2]>[_t0A23,_t0A27];
          tensor[2] pos0A2B#3 = Add<tensor[2]>(_t0A1F,_t0A29);
          bool _t0A2E#1 = Inside<2>(pos0A2B,F0638);
          if _t0A2E then goto ASSIGN0A33 else goto ASSIGN0A35
        ASSIGN0A33:  preds = [COND0A36]
          bool _t0A31#1 = Inside<2>(v130696,T0630);
          goto JOIN0A30
        JOIN0A30:  preds = [ASSIGN0A33,ASSIGN0A35]
          bool _t0A32#1 = phi(_t0A31,_t0A34)
          if _t0A32 then goto ASSIGN0A39 else goto JOIN0A37
        ASSIGN0A39:  preds = [COND0A49]
          real _t0A38#1 = Probe<tensor[2],real>(F0638,pos0A2B);
          real _t0A3A#1 = Probe<tensor[2],real>(T0630,v130696);
          real _t0A3C#1 = Sub<real>(_t0A38,_t0A3A);
          real _t0A3E#1 = Probe<tensor[2],real>(F0638,pos0A2B);
          real _t0A40#1 = Probe<tensor[2],real>(T0630,v130696);
          real _t0A42#1 = Sub<real>(_t0A3E,_t0A40);
          real _t0A44#1 = Mul<real>(_t0A3C,_t0A42);
          real score0A46#1 = Add<real>(score0A18,_t0A44);
          goto JOIN0A37
        JOIN0A37:  preds = [ASSIGN0A48,COND0A49]
          real score0A47#2 = phi(score0A46,score0A18)
          real _t0A4A#1 = Dot<tensor[2]>(r00788,v14069E);
          real _t0A4C#1 = Dot<tensor[2]>(r107B6,v14069E);
          tensor[2] _t0A4E#1 = <tensor[2]>[_t0A4A,_t0A4C];
          int _t0A50#1 = 0;
          real _t0A52#1 = TensorSub<tensor[3]>(t0750,_t0A50);
          int _t0A54#1 = 1;
          real _t0A56#1 = TensorSub<tensor[3]>(t0750,_t0A54);
          tensor[2] _t0A58#1 = <tensor[2]>[_t0A52,_t0A56];
          tensor[2] pos0A5A#3 = Add<tensor[2]>(_t0A4E,_t0A58);
          bool _t0A5D#1 = Inside<2>(pos0A5A,F0638);
          if _t0A5D then goto ASSIGN0A62 else goto ASSIGN0A64
        ASSIGN0A62:  preds = [COND0A65]
          bool _t0A60#1 = Inside<2>(v14069E,T0630);
          goto JOIN0A5F
        JOIN0A5F:  preds = [ASSIGN0A62,ASSIGN0A64]
          bool _t0A61#1 = phi(_t0A60,_t0A63)
          if _t0A61 then goto ASSIGN0A68 else goto JOIN0A66
        ASSIGN0A68:  preds = [COND0A78]
          real _t0A67#1 = Probe<tensor[2],real>(F0638,pos0A5A);
          real _t0A69#1 = Probe<tensor[2],real>(T0630,v14069E);
          real _t0A6B#1 = Sub<real>(_t0A67,_t0A69);
          real _t0A6D#1 = Probe<tensor[2],real>(F0638,pos0A5A);
          real _t0A6F#1 = Probe<tensor[2],real>(T0630,v14069E);
          real _t0A71#1 = Sub<real>(_t0A6D,_t0A6F);
          real _t0A73#1 = Mul<real>(_t0A6B,_t0A71);
          real score0A75#1 = Add<real>(score0A47,_t0A73);
          goto JOIN0A66
        JOIN0A66:  preds = [ASSIGN0A77,COND0A78]
          real score0A76#2 = phi(score0A75,score0A47)
          real _t0A79#1 = Dot<tensor[2]>(r00788,v1506A6);
          real _t0A7B#1 = Dot<tensor[2]>(r107B6,v1506A6);
          tensor[2] _t0A7D#1 = <tensor[2]>[_t0A79,_t0A7B];
          int _t0A7F#1 = 0;
          real _t0A81#1 = TensorSub<tensor[3]>(t0750,_t0A7F);
          int _t0A83#1 = 1;
          real _t0A85#1 = TensorSub<tensor[3]>(t0750,_t0A83);
          tensor[2] _t0A87#1 = <tensor[2]>[_t0A81,_t0A85];
          tensor[2] pos0A89#3 = Add<tensor[2]>(_t0A7D,_t0A87);
          bool _t0A8C#1 = Inside<2>(pos0A89,F0638);
          if _t0A8C then goto ASSIGN0A91 else goto ASSIGN0A93
        ASSIGN0A91:  preds = [COND0A94]
          bool _t0A8F#1 = Inside<2>(v1506A6,T0630);
          goto JOIN0A8E
        JOIN0A8E:  preds = [ASSIGN0A91,ASSIGN0A93]
          bool _t0A90#1 = phi(_t0A8F,_t0A92)
          if _t0A90 then goto ASSIGN0A97 else goto JOIN0A95
        ASSIGN0A97:  preds = [COND0AA7]
          real _t0A96#1 = Probe<tensor[2],real>(F0638,pos0A89);
          real _t0A98#1 = Probe<tensor[2],real>(T0630,v1506A6);
          real _t0A9A#1 = Sub<real>(_t0A96,_t0A98);
          real _t0A9C#1 = Probe<tensor[2],real>(F0638,pos0A89);
          real _t0A9E#1 = Probe<tensor[2],real>(T0630,v1506A6);
          real _t0AA0#1 = Sub<real>(_t0A9C,_t0A9E);
          real _t0AA2#1 = Mul<real>(_t0A9A,_t0AA0);
          real score0AA4#1 = Add<real>(score0A76,_t0AA2);
          goto JOIN0A95
        JOIN0A95:  preds = [ASSIGN0AA6,COND0AA7]
          real score0AA5#2 = phi(score0AA4,score0A76)
          real _t0AA8#1 = Dot<tensor[2]>(r00788,v1606AE);
          real _t0AAA#1 = Dot<tensor[2]>(r107B6,v1606AE);
          tensor[2] _t0AAC#1 = <tensor[2]>[_t0AA8,_t0AAA];
          int _t0AAE#1 = 0;
          real _t0AB0#1 = TensorSub<tensor[3]>(t0750,_t0AAE);
          int _t0AB2#1 = 1;
          real _t0AB4#1 = TensorSub<tensor[3]>(t0750,_t0AB2);
          tensor[2] _t0AB6#1 = <tensor[2]>[_t0AB0,_t0AB4];
          tensor[2] pos0AB8#3 = Add<tensor[2]>(_t0AAC,_t0AB6);
          bool _t0ABB#1 = Inside<2>(pos0AB8,F0638);
          if _t0ABB then goto ASSIGN0AC0 else goto ASSIGN0AC2
        ASSIGN0AC0:  preds = [COND0AC3]
          bool _t0ABE#1 = Inside<2>(v1606AE,T0630);
          goto JOIN0ABD
        JOIN0ABD:  preds = [ASSIGN0AC0,ASSIGN0AC2]
          bool _t0ABF#1 = phi(_t0ABE,_t0AC1)
          if _t0ABF then goto ASSIGN0AC6 else goto JOIN0AC4
        ASSIGN0AC6:  preds = [COND0AD6]
          real _t0AC5#1 = Probe<tensor[2],real>(F0638,pos0AB8);
          real _t0AC7#1 = Probe<tensor[2],real>(T0630,v1606AE);
          real _t0AC9#1 = Sub<real>(_t0AC5,_t0AC7);
          real _t0ACB#1 = Probe<tensor[2],real>(F0638,pos0AB8);
          real _t0ACD#1 = Probe<tensor[2],real>(T0630,v1606AE);
          real _t0ACF#1 = Sub<real>(_t0ACB,_t0ACD);
          real _t0AD1#1 = Mul<real>(_t0AC9,_t0ACF);
          real score0AD3#1 = Add<real>(score0AA5,_t0AD1);
          goto JOIN0AC4
        JOIN0AC4:  preds = [ASSIGN0AD5,COND0AD6]
          real score0AD4#2 = phi(score0AD3,score0AA5)
          real _t0AD7#1 = Dot<tensor[2]>(r00788,v1706B6);
          real _t0AD9#1 = Dot<tensor[2]>(r107B6,v1706B6);
          tensor[2] _t0ADB#1 = <tensor[2]>[_t0AD7,_t0AD9];
          int _t0ADD#1 = 0;
          real _t0ADF#1 = TensorSub<tensor[3]>(t0750,_t0ADD);
          int _t0AE1#1 = 1;
          real _t0AE3#1 = TensorSub<tensor[3]>(t0750,_t0AE1);
          tensor[2] _t0AE5#1 = <tensor[2]>[_t0ADF,_t0AE3];
          tensor[2] pos0AE7#3 = Add<tensor[2]>(_t0ADB,_t0AE5);
          bool _t0AEA#1 = Inside<2>(pos0AE7,F0638);
          if _t0AEA then goto ASSIGN0AEF else goto ASSIGN0AF1
        ASSIGN0AEF:  preds = [COND0AF2]
          bool _t0AED#1 = Inside<2>(v1706B6,T0630);
          goto JOIN0AEC
        JOIN0AEC:  preds = [ASSIGN0AEF,ASSIGN0AF1]
          bool _t0AEE#1 = phi(_t0AED,_t0AF0)
          if _t0AEE then goto ASSIGN0AF5 else goto JOIN0AF3
        ASSIGN0AF5:  preds = [COND0B05]
          real _t0AF4#1 = Probe<tensor[2],real>(F0638,pos0AE7);
          real _t0AF6#1 = Probe<tensor[2],real>(T0630,v1706B6);
          real _t0AF8#1 = Sub<real>(_t0AF4,_t0AF6);
          real _t0AFA#1 = Probe<tensor[2],real>(F0638,pos0AE7);
          real _t0AFC#1 = Probe<tensor[2],real>(T0630,v1706B6);
          real _t0AFE#1 = Sub<real>(_t0AFA,_t0AFC);
          real _t0B00#1 = Mul<real>(_t0AF8,_t0AFE);
          real score0B02#1 = Add<real>(score0AD4,_t0B00);
          goto JOIN0AF3
        JOIN0AF3:  preds = [ASSIGN0B04,COND0B05]
          real score0B03#2 = phi(score0B02,score0AD4)
          real _t0B06#1 = Dot<tensor[2]>(r00788,v1806C0);
          real _t0B08#1 = Dot<tensor[2]>(r107B6,v1806C0);
          tensor[2] _t0B0A#1 = <tensor[2]>[_t0B06,_t0B08];
          int _t0B0C#1 = 0;
          real _t0B0E#1 = TensorSub<tensor[3]>(t0750,_t0B0C);
          int _t0B10#1 = 1;
          real _t0B12#1 = TensorSub<tensor[3]>(t0750,_t0B10);
          tensor[2] _t0B14#1 = <tensor[2]>[_t0B0E,_t0B12];
          tensor[2] pos0B16#3 = Add<tensor[2]>(_t0B0A,_t0B14);
          bool _t0B19#1 = Inside<2>(pos0B16,F0638);
          if _t0B19 then goto ASSIGN0B1E else goto ASSIGN0B20
        ASSIGN0B1E:  preds = [COND0B21]
          bool _t0B1C#1 = Inside<2>(v1806C0,T0630);
          goto JOIN0B1B
        JOIN0B1B:  preds = [ASSIGN0B1E,ASSIGN0B20]
          bool _t0B1D#1 = phi(_t0B1C,_t0B1F)
          if _t0B1D then goto ASSIGN0B24 else goto JOIN0B22
        ASSIGN0B24:  preds = [COND0B34]
          real _t0B23#1 = Probe<tensor[2],real>(F0638,pos0B16);
          real _t0B25#1 = Probe<tensor[2],real>(T0630,v1806C0);
          real _t0B27#1 = Sub<real>(_t0B23,_t0B25);
          real _t0B29#1 = Probe<tensor[2],real>(F0638,pos0B16);
          real _t0B2B#1 = Probe<tensor[2],real>(T0630,v1806C0);
          real _t0B2D#1 = Sub<real>(_t0B29,_t0B2B);
          real _t0B2F#1 = Mul<real>(_t0B27,_t0B2D);
          real score0B31#1 = Add<real>(score0B03,_t0B2F);
          goto JOIN0B22
        JOIN0B22:  preds = [ASSIGN0B33,COND0B34]
          real score0B32#2 = phi(score0B31,score0B03)
          real _t0B35#1 = Dot<tensor[2]>(r00788,v1906CA);
          real _t0B37#1 = Dot<tensor[2]>(r107B6,v1906CA);
          tensor[2] _t0B39#1 = <tensor[2]>[_t0B35,_t0B37];
          int _t0B3B#1 = 0;
          real _t0B3D#1 = TensorSub<tensor[3]>(t0750,_t0B3B);
          int _t0B3F#1 = 1;
          real _t0B41#1 = TensorSub<tensor[3]>(t0750,_t0B3F);
          tensor[2] _t0B43#1 = <tensor[2]>[_t0B3D,_t0B41];
          tensor[2] pos0B45#3 = Add<tensor[2]>(_t0B39,_t0B43);
          bool _t0B48#1 = Inside<2>(pos0B45,F0638);
          if _t0B48 then goto ASSIGN0B4D else goto ASSIGN0B4F
        ASSIGN0B4D:  preds = [COND0B50]
          bool _t0B4B#1 = Inside<2>(v1906CA,T0630);
          goto JOIN0B4A
        JOIN0B4A:  preds = [ASSIGN0B4D,ASSIGN0B4F]
          bool _t0B4C#1 = phi(_t0B4B,_t0B4E)
          if _t0B4C then goto ASSIGN0B53 else goto JOIN0B51
        ASSIGN0B53:  preds = [COND0B63]
          real _t0B52#1 = Probe<tensor[2],real>(F0638,pos0B45);
          real _t0B54#1 = Probe<tensor[2],real>(T0630,v1906CA);
          real _t0B56#1 = Sub<real>(_t0B52,_t0B54);
          real _t0B58#1 = Probe<tensor[2],real>(F0638,pos0B45);
          real _t0B5A#1 = Probe<tensor[2],real>(T0630,v1906CA);
          real _t0B5C#1 = Sub<real>(_t0B58,_t0B5A);
          real _t0B5E#1 = Mul<real>(_t0B56,_t0B5C);
          real score0B60#1 = Add<real>(score0B32,_t0B5E);
          goto JOIN0B51
        JOIN0B51:  preds = [ASSIGN0B62,COND0B63]
          real score0B61#2 = phi(score0B60,score0B32)
          real _t0B64#1 = Dot<tensor[2]>(r00788,v2006D2);
          real _t0B66#1 = Dot<tensor[2]>(r107B6,v2006D2);
          tensor[2] _t0B68#1 = <tensor[2]>[_t0B64,_t0B66];
          int _t0B6A#1 = 0;
          real _t0B6C#1 = TensorSub<tensor[3]>(t0750,_t0B6A);
          int _t0B6E#1 = 1;
          real _t0B70#1 = TensorSub<tensor[3]>(t0750,_t0B6E);
          tensor[2] _t0B72#1 = <tensor[2]>[_t0B6C,_t0B70];
          tensor[2] pos0B74#3 = Add<tensor[2]>(_t0B68,_t0B72);
          bool _t0B77#1 = Inside<2>(pos0B74,F0638);
          if _t0B77 then goto ASSIGN0B7C else goto ASSIGN0B7E
        ASSIGN0B7C:  preds = [COND0B7F]
          bool _t0B7A#1 = Inside<2>(v2006D2,T0630);
          goto JOIN0B79
        JOIN0B79:  preds = [ASSIGN0B7C,ASSIGN0B7E]
          bool _t0B7B#1 = phi(_t0B7A,_t0B7D)
          if _t0B7B then goto ASSIGN0B82 else goto JOIN0B80
        ASSIGN0B82:  preds = [COND0B92]
          real _t0B81#1 = Probe<tensor[2],real>(F0638,pos0B74);
          real _t0B83#1 = Probe<tensor[2],real>(T0630,v2006D2);
          real _t0B85#1 = Sub<real>(_t0B81,_t0B83);
          real _t0B87#1 = Probe<tensor[2],real>(F0638,pos0B74);
          real _t0B89#1 = Probe<tensor[2],real>(T0630,v2006D2);
          real _t0B8B#1 = Sub<real>(_t0B87,_t0B89);
          real _t0B8D#1 = Mul<real>(_t0B85,_t0B8B);
          real score0B8F#1 = Add<real>(score0B61,_t0B8D);
          goto JOIN0B80
        JOIN0B80:  preds = [ASSIGN0B91,COND0B92]
          real score0B90#2 = phi(score0B8F,score0B61)
          real _t0B93#1 = Dot<tensor[2]>(r00788,v2106DA);
          real _t0B95#1 = Dot<tensor[2]>(r107B6,v2106DA);
          tensor[2] _t0B97#1 = <tensor[2]>[_t0B93,_t0B95];
          int _t0B99#1 = 0;
          real _t0B9B#1 = TensorSub<tensor[3]>(t0750,_t0B99);
          int _t0B9D#1 = 1;
          real _t0B9F#1 = TensorSub<tensor[3]>(t0750,_t0B9D);
          tensor[2] _t0BA1#1 = <tensor[2]>[_t0B9B,_t0B9F];
          tensor[2] pos0BA3#3 = Add<tensor[2]>(_t0B97,_t0BA1);
          bool _t0BA6#1 = Inside<2>(pos0BA3,F0638);
          if _t0BA6 then goto ASSIGN0BAB else goto ASSIGN0BAD
        ASSIGN0BAB:  preds = [COND0BAE]
          bool _t0BA9#1 = Inside<2>(v2106DA,T0630);
          goto JOIN0BA8
        JOIN0BA8:  preds = [ASSIGN0BAB,ASSIGN0BAD]
          bool _t0BAA#1 = phi(_t0BA9,_t0BAC)
          if _t0BAA then goto ASSIGN0BB1 else goto JOIN0BAF
        ASSIGN0BB1:  preds = [COND0BC1]
          real _t0BB0#1 = Probe<tensor[2],real>(F0638,pos0BA3);
          real _t0BB2#1 = Probe<tensor[2],real>(T0630,v2106DA);
          real _t0BB4#1 = Sub<real>(_t0BB0,_t0BB2);
          real _t0BB6#1 = Probe<tensor[2],real>(F0638,pos0BA3);
          real _t0BB8#1 = Probe<tensor[2],real>(T0630,v2106DA);
          real _t0BBA#1 = Sub<real>(_t0BB6,_t0BB8);
          real _t0BBC#1 = Mul<real>(_t0BB4,_t0BBA);
          real score0BBE#1 = Add<real>(score0B90,_t0BBC);
          goto JOIN0BAF
        JOIN0BAF:  preds = [ASSIGN0BC0,COND0BC1]
          real score0BBF#2 = phi(score0BBE,score0B90)
          real _t0BC2#1 = Dot<tensor[2]>(r00788,v2206E2);
          real _t0BC4#1 = Dot<tensor[2]>(r107B6,v2206E2);
          tensor[2] _t0BC6#1 = <tensor[2]>[_t0BC2,_t0BC4];
          int _t0BC8#1 = 0;
          real _t0BCA#1 = TensorSub<tensor[3]>(t0750,_t0BC8);
          int _t0BCC#1 = 1;
          real _t0BCE#1 = TensorSub<tensor[3]>(t0750,_t0BCC);
          tensor[2] _t0BD0#1 = <tensor[2]>[_t0BCA,_t0BCE];
          tensor[2] pos0BD2#3 = Add<tensor[2]>(_t0BC6,_t0BD0);
          bool _t0BD5#1 = Inside<2>(pos0BD2,F0638);
          if _t0BD5 then goto ASSIGN0BDA else goto ASSIGN0BDC
        ASSIGN0BDA:  preds = [COND0BDD]
          bool _t0BD8#1 = Inside<2>(v2206E2,T0630);
          goto JOIN0BD7
        JOIN0BD7:  preds = [ASSIGN0BDA,ASSIGN0BDC]
          bool _t0BD9#1 = phi(_t0BD8,_t0BDB)
          if _t0BD9 then goto ASSIGN0BE0 else goto JOIN0BDE
        ASSIGN0BE0:  preds = [COND0BF0]
          real _t0BDF#1 = Probe<tensor[2],real>(F0638,pos0BD2);
          real _t0BE1#1 = Probe<tensor[2],real>(T0630,v2206E2);
          real _t0BE3#1 = Sub<real>(_t0BDF,_t0BE1);
          real _t0BE5#1 = Probe<tensor[2],real>(F0638,pos0BD2);
          real _t0BE7#1 = Probe<tensor[2],real>(T0630,v2206E2);
          real _t0BE9#1 = Sub<real>(_t0BE5,_t0BE7);
          real _t0BEB#1 = Mul<real>(_t0BE3,_t0BE9);
          real score0BED#1 = Add<real>(score0BBF,_t0BEB);
          goto JOIN0BDE
        JOIN0BDE:  preds = [ASSIGN0BEF,COND0BF0]
          real score0BEE#2 = phi(score0BED,score0BBF)
          real _t0BF1#1 = Dot<tensor[2]>(r00788,v2306EC);
          real _t0BF3#1 = Dot<tensor[2]>(r107B6,v2306EC);
          tensor[2] _t0BF5#1 = <tensor[2]>[_t0BF1,_t0BF3];
          int _t0BF7#1 = 0;
          real _t0BF9#1 = TensorSub<tensor[3]>(t0750,_t0BF7);
          int _t0BFB#1 = 1;
          real _t0BFD#1 = TensorSub<tensor[3]>(t0750,_t0BFB);
          tensor[2] _t0BFF#1 = <tensor[2]>[_t0BF9,_t0BFD];
          tensor[2] pos0C01#3 = Add<tensor[2]>(_t0BF5,_t0BFF);
          bool _t0C04#1 = Inside<2>(pos0C01,F0638);
          if _t0C04 then goto ASSIGN0C09 else goto ASSIGN0C0B
        ASSIGN0C09:  preds = [COND0C0C]
          bool _t0C07#1 = Inside<2>(v2306EC,T0630);
          goto JOIN0C06
        JOIN0C06:  preds = [ASSIGN0C09,ASSIGN0C0B]
          bool _t0C08#1 = phi(_t0C07,_t0C0A)
          if _t0C08 then goto ASSIGN0C0F else goto JOIN0C0D
        ASSIGN0C0F:  preds = [COND0C1F]
          real _t0C0E#1 = Probe<tensor[2],real>(F0638,pos0C01);
          real _t0C10#1 = Probe<tensor[2],real>(T0630,v2306EC);
          real _t0C12#1 = Sub<real>(_t0C0E,_t0C10);
          real _t0C14#1 = Probe<tensor[2],real>(F0638,pos0C01);
          real _t0C16#1 = Probe<tensor[2],real>(T0630,v2306EC);
          real _t0C18#1 = Sub<real>(_t0C14,_t0C16);
          real _t0C1A#1 = Mul<real>(_t0C12,_t0C18);
          real score0C1C#1 = Add<real>(score0BEE,_t0C1A);
          goto JOIN0C0D
        JOIN0C0D:  preds = [ASSIGN0C1E,COND0C1F]
          real score0C1D#2 = phi(score0C1C,score0BEE)
          real _t0C20#1 = Dot<tensor[2]>(r00788,v2406F6);
          real _t0C22#1 = Dot<tensor[2]>(r107B6,v2406F6);
          tensor[2] _t0C24#1 = <tensor[2]>[_t0C20,_t0C22];
          int _t0C26#1 = 0;
          real _t0C28#1 = TensorSub<tensor[3]>(t0750,_t0C26);
          int _t0C2A#1 = 1;
          real _t0C2C#1 = TensorSub<tensor[3]>(t0750,_t0C2A);
          tensor[2] _t0C2E#1 = <tensor[2]>[_t0C28,_t0C2C];
          tensor[2] pos0C30#4 = Add<tensor[2]>(_t0C24,_t0C2E);
          bool _t0C33#1 = Inside<2>(pos0C30,F0638);
          if _t0C33 then goto ASSIGN0C38 else goto ASSIGN0C3A
        ASSIGN0C38:  preds = [COND0C3B]
          bool _t0C36#1 = Inside<2>(v2406F6,T0630);
          goto JOIN0C35
        JOIN0C35:  preds = [ASSIGN0C38,ASSIGN0C3A]
          bool _t0C37#1 = phi(_t0C36,_t0C39)
          if _t0C37 then goto ASSIGN0C3E else goto JOIN0C3C
        ASSIGN0C3E:  preds = [COND0C4E]
          real _t0C3D#1 = Probe<tensor[2],real>(F0638,pos0C30);
          real _t0C3F#1 = Probe<tensor[2],real>(T0630,v2406F6);
          real _t0C41#1 = Sub<real>(_t0C3D,_t0C3F);
          real _t0C43#1 = Probe<tensor[2],real>(F0638,pos0C30);
          real _t0C45#1 = Probe<tensor[2],real>(T0630,v2406F6);
          real _t0C47#1 = Sub<real>(_t0C43,_t0C45);
          real _t0C49#1 = Mul<real>(_t0C41,_t0C47);
          real score0C4B#1 = Add<real>(score0C1D,_t0C49);
          goto JOIN0C3C
        JOIN0C3C:  preds = [ASSIGN0C4D,COND0C4E]
          real score0C4C#1 = phi(score0C4B,score0C1D)
          self.t = t0750;
          self.score = score0C4C;
          self.r0 = r00788;
          self.r1 = r107B6;
          self.pos = pos0C30;
          stabilize ()
        ASSIGN0C3A:  preds = [COND0C3B]
          bool _t0C39#1 = false;
          goto JOIN0C35
        ASSIGN0C0B:  preds = [COND0C0C]
          bool _t0C0A#1 = false;
          goto JOIN0C06
        ASSIGN0BDC:  preds = [COND0BDD]
          bool _t0BDB#1 = false;
          goto JOIN0BD7
        ASSIGN0BAD:  preds = [COND0BAE]
          bool _t0BAC#1 = false;
          goto JOIN0BA8
        ASSIGN0B7E:  preds = [COND0B7F]
          bool _t0B7D#1 = false;
          goto JOIN0B79
        ASSIGN0B4F:  preds = [COND0B50]
          bool _t0B4E#1 = false;
          goto JOIN0B4A
        ASSIGN0B20:  preds = [COND0B21]
          bool _t0B1F#1 = false;
          goto JOIN0B1B
        ASSIGN0AF1:  preds = [COND0AF2]
          bool _t0AF0#1 = false;
          goto JOIN0AEC
        ASSIGN0AC2:  preds = [COND0AC3]
          bool _t0AC1#1 = false;
          goto JOIN0ABD
        ASSIGN0A93:  preds = [COND0A94]
          bool _t0A92#1 = false;
          goto JOIN0A8E
        ASSIGN0A64:  preds = [COND0A65]
          bool _t0A63#1 = false;
          goto JOIN0A5F
        ASSIGN0A35:  preds = [COND0A36]
          bool _t0A34#1 = false;
          goto JOIN0A30
        ASSIGN0A06:  preds = [COND0A07]
          bool _t0A05#1 = false;
          goto JOIN0A01
        ASSIGN09D7:  preds = [COND09D8]
          bool _t09D6#1 = false;
          goto JOIN09D2
        ASSIGN09A8:  preds = [COND09A9]
          bool _t09A7#1 = false;
          goto JOIN09A3
        ASSIGN0979:  preds = [COND097A]
          bool _t0978#1 = false;
          goto JOIN0974
        ASSIGN094A:  preds = [COND094B]
          bool _t0949#1 = false;
          goto JOIN0945
        ASSIGN091B:  preds = [COND091C]
          bool _t091A#1 = false;
          goto JOIN0916
        ASSIGN08EC:  preds = [COND08ED]
          bool _t08EB#1 = false;
          goto JOIN08E7
        ASSIGN08BD:  preds = [COND08BE]
          bool _t08BC#1 = false;
          goto JOIN08B8
        ASSIGN088E:  preds = [COND088F]
          bool _t088D#1 = false;
          goto JOIN0889
        ASSIGN085F:  preds = [COND0860]
          bool _t085E#1 = false;
          goto JOIN085A
        ASSIGN0830:  preds = [COND0831]
          bool _t082F#1 = false;
          goto JOIN082B
        ASSIGN0801:  preds = [COND0802]
          bool _t0800#1 = false;
          goto JOIN07FC
        ASSIGN07D2:  preds = [COND07D3]
          bool _t07D1#1 = false;
          goto JOIN07CD
    end Update
    method Stabilize
        ENTRY0C61:  preds = []
          tensor[3] t0C57#1 = self.t;
          real score0C58#1 = self.score;
          tensor[2] r00C59#1 = self.r0;
          tensor[2] r10C5A#1 = self.r1;
          tensor[2] pos0C5B#1 = self.pos;
          self.t = t0C57;
          self.score = score0C58;
          self.r0 = r00C59;
          self.r1 = r10C5A;
          self.pos = pos0C5B;
          return ()
    end Stabilize
  end R
#### end program ####
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
##### HighIL after value numbering ####
## properties
  none
## globals
  global field T0630#75
  global field F0638#75
  global tensor[2] v00063E#5
  global tensor[2] v010644#5
  global tensor[2] v02064A#5
  global tensor[2] v030652#5
  global tensor[2] v04065A#5
  global tensor[2] v050660#5
  global tensor[2] v060666#5
  global tensor[2] v07066C#5
  global tensor[2] v080674#5
  global tensor[2] v09067C#5
  global tensor[2] v100682#5
  global tensor[2] v110688#5
  global tensor[2] v12068E#5
  global tensor[2] v130696#5
  global tensor[2] v14069E#5
  global tensor[2] v1506A6#5
  global tensor[2] v1606AE#5
  global tensor[2] v1706B6#5
  global tensor[2] v1806C0#5
  global tensor[2] v1906CA#5
  global tensor[2] v2006D2#5
  global tensor[2] v2106DA#5
  global tensor[2] v2206E2#5
  global tensor[2] v2306EC#5
  global tensor[2] v2406F6#5
  global string _t062C#1
  global image2D _t062E#1
  global kernel _t062A#3
  global string _t0634#1
  global image2D _t0636#1
  global real _t063A#19
  global real _t0642#30
  global real _t0650#19
  global real _t0648#30
  global real _t0658#19
## global initialization
  ENTRY06F8:  preds = []
    kernel _t062A#3 = Kernel<bspln3,0>;
    string _t062C#1 = "square-template.nrrd";
    image2D _t062E#1 = LoadImage<IMAGE2D<int>>(_t062C);
    field T0630#75 = Field<2>(_t062E,_t062A);
    string _t0634#1 = "square-rotate.nrrd";
    image2D _t0636#1 = LoadImage<IMAGE2D<float>>(_t0634);
    field F0638#75 = Field<2>(_t0636,_t062A);
    real _t063A#19 = 0.0;
    tensor[2] v00063E#5 = <tensor[2]>[_t063A,_t063A];
    real _t0642#30 = 0.25e0;
    tensor[2] v010644#5 = <tensor[2]>[_t063A,_t0642];
    real _t0648#30 = 0.5e0;
    tensor[2] v02064A#5 = <tensor[2]>[_t063A,_t0648];
    real _t0650#19 = Neg<real>(_t0642);
    tensor[2] v030652#5 = <tensor[2]>[_t063A,_t0650];
    real _t0658#19 = Neg<real>(_t0648);
    tensor[2] v04065A#5 = <tensor[2]>[_t063A,_t0658];
    tensor[2] v050660#5 = <tensor[2]>[_t0642,_t063A];
    tensor[2] v060666#5 = <tensor[2]>[_t0642,_t0642];
    tensor[2] v07066C#5 = <tensor[2]>[_t0642,_t0648];
    tensor[2] v080674#5 = <tensor[2]>[_t0642,_t0650];
    tensor[2] v09067C#5 = <tensor[2]>[_t0642,_t0658];
    tensor[2] v100682#5 = <tensor[2]>[_t0648,_t063A];
    tensor[2] v110688#5 = <tensor[2]>[_t0648,_t0642];
    tensor[2] v12068E#5 = <tensor[2]>[_t0648,_t0648];
    tensor[2] v130696#5 = <tensor[2]>[_t0648,_t0650];
    tensor[2] v14069E#5 = <tensor[2]>[_t0648,_t0658];
    tensor[2] v1506A6#5 = <tensor[2]>[_t0650,_t063A];
    tensor[2] v1606AE#5 = <tensor[2]>[_t0650,_t0642];
    tensor[2] v1706B6#5 = <tensor[2]>[_t0650,_t0648];
    tensor[2] v1806C0#5 = <tensor[2]>[_t0650,_t0650];
    tensor[2] v1906CA#5 = <tensor[2]>[_t0650,_t0658];
    tensor[2] v2006D2#5 = <tensor[2]>[_t0658,_t063A];
    tensor[2] v2106DA#5 = <tensor[2]>[_t0658,_t0642];
    tensor[2] v2206E2#5 = <tensor[2]>[_t0658,_t0648];
    tensor[2] v2306EC#5 = <tensor[2]>[_t0658,_t0650];
    tensor[2] v2406F6#5 = <tensor[2]>[_t0658,_t0658];
    return (T0630,F0638,v00063E,v010644,v02064A,v030652,v04065A,v050660,v060666,v07066C,v080674,v09067C,v100682,v110688,v12068E,v130696,v14069E,v1506A6,v1606AE,v1706B6,v1806C0,v1906CA,v2006D2,v2106DA,v2206E2,v2306EC,v2406F6,_t062C,_t062E,_t062A,_t0634,_t0636,_t063A,_t0642,_t0650,_t0648,_t0658)
## initially
  ARRAY
    ENTRY0706:  preds = []
      int _t06FA#4 = 0;
      int _t06FC#4 = 60;
      live vars = (_t06FC,_t06FA)
    for int i0708#1 = _t06FA .. _t06FC
      for int j0709#1 = _t06FA .. _t06FC
        for int k070A#1 = _t06FA .. _t06FC
          ENTRY070B:  preds = []
            live vars = ()
          new R(i0708,j0709,k070A);
## strands
  strand R (int i070D#1, int j070E#1, int k070F#1)
    state: tensor[3] self.t;output real self.score;tensor[2] self.r0;tensor[2] self.r1;tensor[2] self.pos;
      ENTRY0749:  preds = []
        real _t0715#1 = IntToReal(i070D);
        real _t0717#3 = 0.60e2;
        real _t0719#1 = Div<real>(_t0715,_t0717);
        real _t071B#3 = 0.5e0;
        real _t071D#1 = Sub<real>(_t0719,_t071B);
        real _t071F#1 = IntToReal(j070E);
        real _t0723#1 = Div<real>(_t071F,_t0717);
        real _t0727#1 = Sub<real>(_t0723,_t071B);
        real _t0729#1 = IntToReal(k070F);
        real _t072D#1 = Div<real>(_t0729,_t0717);
        real _t0731#1 = Sub<real>(_t072D,_t071B);
        tensor[3] t0733#1 = <tensor[3]>[_t071D,_t0727,_t0731];
        real score0735#3 = 0.0;
        tensor[2] r0073B#3 = <tensor[2]>[score0735,score0735];
        self.t = t0733;
        self.score = score0735;
        self.r0 = r0073B;
        self.r1 = r0073B;
        self.pos = r0073B;
        strand_init ()
    method Update
        ENTRY0C55:  preds = []
          tensor[3] t0750#61 = self.t;
          real score0751#2 = self.score;
          tensor[2] r00752#0 = self.r0;
          tensor[2] r10753#0 = self.r1;
          tensor[2] pos0754#0 = self.pos;
          real _t075A#2 = 0.1e1;
          real _t075C#3 = 0.2e1;
          int _t075E#1 = 2;
          real _t0760#6 = TensorSub<tensor[3]>(t0750,_t075E);
          real _t0762#1 = Mul<real>(_t075C,_t0760);
          real _t0768#1 = Mul<real>(_t0762,_t0760);
          real _t076A#2 = Sub<real>(_t075A,_t0768);
          real _t076E#1 = Neg<real>(_t075C);
          real _t077A#1 = Mul<real>(_t0760,_t0760);
          real _t077C#1 = Sub<real>(_t075A,_t077A);
          real _t077E#2 = sqrt(_t077C);
          real _t0780#1 = Mul<real>(_t076E,_t077E);
          real _t0786#1 = Mul<real>(_t0780,_t0760);
          tensor[2] r00788#26 = <tensor[2]>[_t076A,_t0786];
          real _t079C#1 = Mul<real>(_t075C,_t077E);
          real _t07A2#1 = Mul<real>(_t079C,_t0760);
          tensor[2] r107B6#26 = <tensor[2]>[_t07A2,_t076A];
          real _t07B8#1 = Dot<tensor[2]>(r00788,v00063E);
          real _t07BA#1 = Dot<tensor[2]>(r107B6,v00063E);
          tensor[2] _t07BC#1 = <tensor[2]>[_t07B8,_t07BA];
          int _t07BE#1 = 0;
          real _t07C0#1 = TensorSub<tensor[3]>(t0750,_t07BE);
          int _t07C2#1 = 1;
          real _t07C4#1 = TensorSub<tensor[3]>(t0750,_t07C2);
          tensor[2] _t07C6#25 = <tensor[2]>[_t07C0,_t07C4];
          tensor[2] pos07C8#3 = Add<tensor[2]>(_t07BC,_t07C6);
          bool _t07CB#1 = Inside<2>(pos07C8,F0638);
          if _t07CB then goto ASSIGN07D0 else goto ASSIGN07D2
        ASSIGN07D0:  preds = [COND07D3]
          bool _t07CE#1 = Inside<2>(v00063E,T0630);
          goto JOIN07CD
        JOIN07CD:  preds = [ASSIGN07D0,ASSIGN07D2]
          bool _t07CF#1 = phi(_t07CE,_t07D1)
          if _t07CF then goto ASSIGN07D6 else goto JOIN07D4
        ASSIGN07D6:  preds = [COND07E6]
          real _t07D5#1 = Probe<tensor[2],real>(F0638,pos07C8);
          real _t07D7#1 = Probe<tensor[2],real>(T0630,v00063E);
          real _t07D9#2 = Sub<real>(_t07D5,_t07D7);
          real _t07E1#1 = Mul<real>(_t07D9,_t07D9);
          real score07E3#1 = Add<real>(score0751,_t07E1);
          goto JOIN07D4
        JOIN07D4:  preds = [ASSIGN07E5,COND07E6]
          real score07E4#2 = phi(score07E3,score0751)
          real _t07E7#1 = Dot<tensor[2]>(r00788,v010644);
          real _t07E9#1 = Dot<tensor[2]>(r107B6,v010644);
          tensor[2] _t07EB#1 = <tensor[2]>[_t07E7,_t07E9];
          tensor[2] pos07F7#3 = Add<tensor[2]>(_t07EB,_t07C6);
          bool _t07FA#1 = Inside<2>(pos07F7,F0638);
          if _t07FA then goto ASSIGN07FF else goto ASSIGN0801
        ASSIGN07FF:  preds = [COND0802]
          bool _t07FD#1 = Inside<2>(v010644,T0630);
          goto JOIN07FC
        JOIN07FC:  preds = [ASSIGN07FF,ASSIGN0801]
          bool _t07FE#1 = phi(_t07FD,_t0800)
          if _t07FE then goto ASSIGN0805 else goto JOIN0803
        ASSIGN0805:  preds = [COND0815]
          real _t0804#1 = Probe<tensor[2],real>(F0638,pos07F7);
          real _t0806#1 = Probe<tensor[2],real>(T0630,v010644);
          real _t0808#2 = Sub<real>(_t0804,_t0806);
          real _t0810#1 = Mul<real>(_t0808,_t0808);
          real score0812#1 = Add<real>(score07E4,_t0810);
          goto JOIN0803
        JOIN0803:  preds = [ASSIGN0814,COND0815]
          real score0813#2 = phi(score0812,score07E4)
          real _t0816#1 = Dot<tensor[2]>(r00788,v02064A);
          real _t0818#1 = Dot<tensor[2]>(r107B6,v02064A);
          tensor[2] _t081A#1 = <tensor[2]>[_t0816,_t0818];
          tensor[2] pos0826#3 = Add<tensor[2]>(_t081A,_t07C6);
          bool _t0829#1 = Inside<2>(pos0826,F0638);
          if _t0829 then goto ASSIGN082E else goto ASSIGN0830
        ASSIGN082E:  preds = [COND0831]
          bool _t082C#1 = Inside<2>(v02064A,T0630);
          goto JOIN082B
        JOIN082B:  preds = [ASSIGN082E,ASSIGN0830]
          bool _t082D#1 = phi(_t082C,_t082F)
          if _t082D then goto ASSIGN0834 else goto JOIN0832
        ASSIGN0834:  preds = [COND0844]
          real _t0833#1 = Probe<tensor[2],real>(F0638,pos0826);
          real _t0835#1 = Probe<tensor[2],real>(T0630,v02064A);
          real _t0837#2 = Sub<real>(_t0833,_t0835);
          real _t083F#1 = Mul<real>(_t0837,_t0837);
          real score0841#1 = Add<real>(score0813,_t083F);
          goto JOIN0832
        JOIN0832:  preds = [ASSIGN0843,COND0844]
          real score0842#2 = phi(score0841,score0813)
          real _t0845#1 = Dot<tensor[2]>(r00788,v030652);
          real _t0847#1 = Dot<tensor[2]>(r107B6,v030652);
          tensor[2] _t0849#1 = <tensor[2]>[_t0845,_t0847];
          tensor[2] pos0855#3 = Add<tensor[2]>(_t0849,_t07C6);
          bool _t0858#1 = Inside<2>(pos0855,F0638);
          if _t0858 then goto ASSIGN085D else goto ASSIGN085F
        ASSIGN085D:  preds = [COND0860]
          bool _t085B#1 = Inside<2>(v030652,T0630);
          goto JOIN085A
        JOIN085A:  preds = [ASSIGN085D,ASSIGN085F]
          bool _t085C#1 = phi(_t085B,_t085E)
          if _t085C then goto ASSIGN0863 else goto JOIN0861
        ASSIGN0863:  preds = [COND0873]
          real _t0862#1 = Probe<tensor[2],real>(F0638,pos0855);
          real _t0864#1 = Probe<tensor[2],real>(T0630,v030652);
          real _t0866#2 = Sub<real>(_t0862,_t0864);
          real _t086E#1 = Mul<real>(_t0866,_t0866);
          real score0870#1 = Add<real>(score0842,_t086E);
          goto JOIN0861
        JOIN0861:  preds = [ASSIGN0872,COND0873]
          real score0871#2 = phi(score0870,score0842)
          real _t0874#1 = Dot<tensor[2]>(r00788,v04065A);
          real _t0876#1 = Dot<tensor[2]>(r107B6,v04065A);
          tensor[2] _t0878#1 = <tensor[2]>[_t0874,_t0876];
          tensor[2] pos0884#3 = Add<tensor[2]>(_t0878,_t07C6);
          bool _t0887#1 = Inside<2>(pos0884,F0638);
          if _t0887 then goto ASSIGN088C else goto ASSIGN088E
        ASSIGN088C:  preds = [COND088F]
          bool _t088A#1 = Inside<2>(v04065A,T0630);
          goto JOIN0889
        JOIN0889:  preds = [ASSIGN088C,ASSIGN088E]
          bool _t088B#1 = phi(_t088A,_t088D)
          if _t088B then goto ASSIGN0892 else goto JOIN0890
        ASSIGN0892:  preds = [COND08A2]
          real _t0891#1 = Probe<tensor[2],real>(F0638,pos0884);
          real _t0893#1 = Probe<tensor[2],real>(T0630,v04065A);
          real _t0895#2 = Sub<real>(_t0891,_t0893);
          real _t089D#1 = Mul<real>(_t0895,_t0895);
          real score089F#1 = Add<real>(score0871,_t089D);
          goto JOIN0890
        JOIN0890:  preds = [ASSIGN08A1,COND08A2]
          real score08A0#2 = phi(score089F,score0871)
          real _t08A3#1 = Dot<tensor[2]>(r00788,v050660);
          real _t08A5#1 = Dot<tensor[2]>(r107B6,v050660);
          tensor[2] _t08A7#1 = <tensor[2]>[_t08A3,_t08A5];
          tensor[2] pos08B3#3 = Add<tensor[2]>(_t08A7,_t07C6);
          bool _t08B6#1 = Inside<2>(pos08B3,F0638);
          if _t08B6 then goto ASSIGN08BB else goto ASSIGN08BD
        ASSIGN08BB:  preds = [COND08BE]
          bool _t08B9#1 = Inside<2>(v050660,T0630);
          goto JOIN08B8
        JOIN08B8:  preds = [ASSIGN08BB,ASSIGN08BD]
          bool _t08BA#1 = phi(_t08B9,_t08BC)
          if _t08BA then goto ASSIGN08C1 else goto JOIN08BF
        ASSIGN08C1:  preds = [COND08D1]
          real _t08C0#1 = Probe<tensor[2],real>(F0638,pos08B3);
          real _t08C2#1 = Probe<tensor[2],real>(T0630,v050660);
          real _t08C4#2 = Sub<real>(_t08C0,_t08C2);
          real _t08CC#1 = Mul<real>(_t08C4,_t08C4);
          real score08CE#1 = Add<real>(score08A0,_t08CC);
          goto JOIN08BF
        JOIN08BF:  preds = [ASSIGN08D0,COND08D1]
          real score08CF#2 = phi(score08CE,score08A0)
          real _t08D2#1 = Dot<tensor[2]>(r00788,v060666);
          real _t08D4#1 = Dot<tensor[2]>(r107B6,v060666);
          tensor[2] _t08D6#1 = <tensor[2]>[_t08D2,_t08D4];
          tensor[2] pos08E2#3 = Add<tensor[2]>(_t08D6,_t07C6);
          bool _t08E5#1 = Inside<2>(pos08E2,F0638);
          if _t08E5 then goto ASSIGN08EA else goto ASSIGN08EC
        ASSIGN08EA:  preds = [COND08ED]
          bool _t08E8#1 = Inside<2>(v060666,T0630);
          goto JOIN08E7
        JOIN08E7:  preds = [ASSIGN08EA,ASSIGN08EC]
          bool _t08E9#1 = phi(_t08E8,_t08EB)
          if _t08E9 then goto ASSIGN08F0 else goto JOIN08EE
        ASSIGN08F0:  preds = [COND0900]
          real _t08EF#1 = Probe<tensor[2],real>(F0638,pos08E2);
          real _t08F1#1 = Probe<tensor[2],real>(T0630,v060666);
          real _t08F3#2 = Sub<real>(_t08EF,_t08F1);
          real _t08FB#1 = Mul<real>(_t08F3,_t08F3);
          real score08FD#1 = Add<real>(score08CF,_t08FB);
          goto JOIN08EE
        JOIN08EE:  preds = [ASSIGN08FF,COND0900]
          real score08FE#2 = phi(score08FD,score08CF)
          real _t0901#1 = Dot<tensor[2]>(r00788,v07066C);
          real _t0903#1 = Dot<tensor[2]>(r107B6,v07066C);
          tensor[2] _t0905#1 = <tensor[2]>[_t0901,_t0903];
          tensor[2] pos0911#3 = Add<tensor[2]>(_t0905,_t07C6);
          bool _t0914#1 = Inside<2>(pos0911,F0638);
          if _t0914 then goto ASSIGN0919 else goto ASSIGN091B
        ASSIGN0919:  preds = [COND091C]
          bool _t0917#1 = Inside<2>(v07066C,T0630);
          goto JOIN0916
        JOIN0916:  preds = [ASSIGN0919,ASSIGN091B]
          bool _t0918#1 = phi(_t0917,_t091A)
          if _t0918 then goto ASSIGN091F else goto JOIN091D
        ASSIGN091F:  preds = [COND092F]
          real _t091E#1 = Probe<tensor[2],real>(F0638,pos0911);
          real _t0920#1 = Probe<tensor[2],real>(T0630,v07066C);
          real _t0922#2 = Sub<real>(_t091E,_t0920);
          real _t092A#1 = Mul<real>(_t0922,_t0922);
          real score092C#1 = Add<real>(score08FE,_t092A);
          goto JOIN091D
        JOIN091D:  preds = [ASSIGN092E,COND092F]
          real score092D#2 = phi(score092C,score08FE)
          real _t0930#1 = Dot<tensor[2]>(r00788,v080674);
          real _t0932#1 = Dot<tensor[2]>(r107B6,v080674);
          tensor[2] _t0934#1 = <tensor[2]>[_t0930,_t0932];
          tensor[2] pos0940#3 = Add<tensor[2]>(_t0934,_t07C6);
          bool _t0943#1 = Inside<2>(pos0940,F0638);
          if _t0943 then goto ASSIGN0948 else goto ASSIGN094A
        ASSIGN0948:  preds = [COND094B]
          bool _t0946#1 = Inside<2>(v080674,T0630);
          goto JOIN0945
        JOIN0945:  preds = [ASSIGN0948,ASSIGN094A]
          bool _t0947#1 = phi(_t0946,_t0949)
          if _t0947 then goto ASSIGN094E else goto JOIN094C
        ASSIGN094E:  preds = [COND095E]
          real _t094D#1 = Probe<tensor[2],real>(F0638,pos0940);
          real _t094F#1 = Probe<tensor[2],real>(T0630,v080674);
          real _t0951#2 = Sub<real>(_t094D,_t094F);
          real _t0959#1 = Mul<real>(_t0951,_t0951);
          real score095B#1 = Add<real>(score092D,_t0959);
          goto JOIN094C
        JOIN094C:  preds = [ASSIGN095D,COND095E]
          real score095C#2 = phi(score095B,score092D)
          real _t095F#1 = Dot<tensor[2]>(r00788,v09067C);
          real _t0961#1 = Dot<tensor[2]>(r107B6,v09067C);
          tensor[2] _t0963#1 = <tensor[2]>[_t095F,_t0961];
          tensor[2] pos096F#3 = Add<tensor[2]>(_t0963,_t07C6);
          bool _t0972#1 = Inside<2>(pos096F,F0638);
          if _t0972 then goto ASSIGN0977 else goto ASSIGN0979
        ASSIGN0977:  preds = [COND097A]
          bool _t0975#1 = Inside<2>(v09067C,T0630);
          goto JOIN0974
        JOIN0974:  preds = [ASSIGN0977,ASSIGN0979]
          bool _t0976#1 = phi(_t0975,_t0978)
          if _t0976 then goto ASSIGN097D else goto JOIN097B
        ASSIGN097D:  preds = [COND098D]
          real _t097C#1 = Probe<tensor[2],real>(F0638,pos096F);
          real _t097E#1 = Probe<tensor[2],real>(T0630,v09067C);
          real _t0980#2 = Sub<real>(_t097C,_t097E);
          real _t0988#1 = Mul<real>(_t0980,_t0980);
          real score098A#1 = Add<real>(score095C,_t0988);
          goto JOIN097B
        JOIN097B:  preds = [ASSIGN098C,COND098D]
          real score098B#2 = phi(score098A,score095C)
          real _t098E#1 = Dot<tensor[2]>(r00788,v100682);
          real _t0990#1 = Dot<tensor[2]>(r107B6,v100682);
          tensor[2] _t0992#1 = <tensor[2]>[_t098E,_t0990];
          tensor[2] pos099E#3 = Add<tensor[2]>(_t0992,_t07C6);
          bool _t09A1#1 = Inside<2>(pos099E,F0638);
          if _t09A1 then goto ASSIGN09A6 else goto ASSIGN09A8
        ASSIGN09A6:  preds = [COND09A9]
          bool _t09A4#1 = Inside<2>(v100682,T0630);
          goto JOIN09A3
        JOIN09A3:  preds = [ASSIGN09A6,ASSIGN09A8]
          bool _t09A5#1 = phi(_t09A4,_t09A7)
          if _t09A5 then goto ASSIGN09AC else goto JOIN09AA
        ASSIGN09AC:  preds = [COND09BC]
          real _t09AB#1 = Probe<tensor[2],real>(F0638,pos099E);
          real _t09AD#1 = Probe<tensor[2],real>(T0630,v100682);
          real _t09AF#2 = Sub<real>(_t09AB,_t09AD);
          real _t09B7#1 = Mul<real>(_t09AF,_t09AF);
          real score09B9#1 = Add<real>(score098B,_t09B7);
          goto JOIN09AA
        JOIN09AA:  preds = [ASSIGN09BB,COND09BC]
          real score09BA#2 = phi(score09B9,score098B)
          real _t09BD#1 = Dot<tensor[2]>(r00788,v110688);
          real _t09BF#1 = Dot<tensor[2]>(r107B6,v110688);
          tensor[2] _t09C1#1 = <tensor[2]>[_t09BD,_t09BF];
          tensor[2] pos09CD#3 = Add<tensor[2]>(_t09C1,_t07C6);
          bool _t09D0#1 = Inside<2>(pos09CD,F0638);
          if _t09D0 then goto ASSIGN09D5 else goto ASSIGN09D7
        ASSIGN09D5:  preds = [COND09D8]
          bool _t09D3#1 = Inside<2>(v110688,T0630);
          goto JOIN09D2
        JOIN09D2:  preds = [ASSIGN09D5,ASSIGN09D7]
          bool _t09D4#1 = phi(_t09D3,_t09D6)
          if _t09D4 then goto ASSIGN09DB else goto JOIN09D9
        ASSIGN09DB:  preds = [COND09EB]
          real _t09DA#1 = Probe<tensor[2],real>(F0638,pos09CD);
          real _t09DC#1 = Probe<tensor[2],real>(T0630,v110688);
          real _t09DE#2 = Sub<real>(_t09DA,_t09DC);
          real _t09E6#1 = Mul<real>(_t09DE,_t09DE);
          real score09E8#1 = Add<real>(score09BA,_t09E6);
          goto JOIN09D9
        JOIN09D9:  preds = [ASSIGN09EA,COND09EB]
          real score09E9#2 = phi(score09E8,score09BA)
          real _t09EC#1 = Dot<tensor[2]>(r00788,v12068E);
          real _t09EE#1 = Dot<tensor[2]>(r107B6,v12068E);
          tensor[2] _t09F0#1 = <tensor[2]>[_t09EC,_t09EE];
          tensor[2] pos09FC#3 = Add<tensor[2]>(_t09F0,_t07C6);
          bool _t09FF#1 = Inside<2>(pos09FC,F0638);
          if _t09FF then goto ASSIGN0A04 else goto ASSIGN0A06
        ASSIGN0A04:  preds = [COND0A07]
          bool _t0A02#1 = Inside<2>(v12068E,T0630);
          goto JOIN0A01
        JOIN0A01:  preds = [ASSIGN0A04,ASSIGN0A06]
          bool _t0A03#1 = phi(_t0A02,_t0A05)
          if _t0A03 then goto ASSIGN0A0A else goto JOIN0A08
        ASSIGN0A0A:  preds = [COND0A1A]
          real _t0A09#1 = Probe<tensor[2],real>(F0638,pos09FC);
          real _t0A0B#1 = Probe<tensor[2],real>(T0630,v12068E);
          real _t0A0D#2 = Sub<real>(_t0A09,_t0A0B);
          real _t0A15#1 = Mul<real>(_t0A0D,_t0A0D);
          real score0A17#1 = Add<real>(score09E9,_t0A15);
          goto JOIN0A08
        JOIN0A08:  preds = [ASSIGN0A19,COND0A1A]
          real score0A18#2 = phi(score0A17,score09E9)
          real _t0A1B#1 = Dot<tensor[2]>(r00788,v130696);
          real _t0A1D#1 = Dot<tensor[2]>(r107B6,v130696);
          tensor[2] _t0A1F#1 = <tensor[2]>[_t0A1B,_t0A1D];
          tensor[2] pos0A2B#3 = Add<tensor[2]>(_t0A1F,_t07C6);
          bool _t0A2E#1 = Inside<2>(pos0A2B,F0638);
          if _t0A2E then goto ASSIGN0A33 else goto ASSIGN0A35
        ASSIGN0A33:  preds = [COND0A36]
          bool _t0A31#1 = Inside<2>(v130696,T0630);
          goto JOIN0A30
        JOIN0A30:  preds = [ASSIGN0A33,ASSIGN0A35]
          bool _t0A32#1 = phi(_t0A31,_t0A34)
          if _t0A32 then goto ASSIGN0A39 else goto JOIN0A37
        ASSIGN0A39:  preds = [COND0A49]
          real _t0A38#1 = Probe<tensor[2],real>(F0638,pos0A2B);
          real _t0A3A#1 = Probe<tensor[2],real>(T0630,v130696);
          real _t0A3C#2 = Sub<real>(_t0A38,_t0A3A);
          real _t0A44#1 = Mul<real>(_t0A3C,_t0A3C);
          real score0A46#1 = Add<real>(score0A18,_t0A44);
          goto JOIN0A37
        JOIN0A37:  preds = [ASSIGN0A48,COND0A49]
          real score0A47#2 = phi(score0A46,score0A18)
          real _t0A4A#1 = Dot<tensor[2]>(r00788,v14069E);
          real _t0A4C#1 = Dot<tensor[2]>(r107B6,v14069E);
          tensor[2] _t0A4E#1 = <tensor[2]>[_t0A4A,_t0A4C];
          tensor[2] pos0A5A#3 = Add<tensor[2]>(_t0A4E,_t07C6);
          bool _t0A5D#1 = Inside<2>(pos0A5A,F0638);
          if _t0A5D then goto ASSIGN0A62 else goto ASSIGN0A64
        ASSIGN0A62:  preds = [COND0A65]
          bool _t0A60#1 = Inside<2>(v14069E,T0630);
          goto JOIN0A5F
        JOIN0A5F:  preds = [ASSIGN0A62,ASSIGN0A64]
          bool _t0A61#1 = phi(_t0A60,_t0A63)
          if _t0A61 then goto ASSIGN0A68 else goto JOIN0A66
        ASSIGN0A68:  preds = [COND0A78]
          real _t0A67#1 = Probe<tensor[2],real>(F0638,pos0A5A);
          real _t0A69#1 = Probe<tensor[2],real>(T0630,v14069E);
          real _t0A6B#2 = Sub<real>(_t0A67,_t0A69);
          real _t0A73#1 = Mul<real>(_t0A6B,_t0A6B);
          real score0A75#1 = Add<real>(score0A47,_t0A73);
          goto JOIN0A66
        JOIN0A66:  preds = [ASSIGN0A77,COND0A78]
          real score0A76#2 = phi(score0A75,score0A47)
          real _t0A79#1 = Dot<tensor[2]>(r00788,v1506A6);
          real _t0A7B#1 = Dot<tensor[2]>(r107B6,v1506A6);
          tensor[2] _t0A7D#1 = <tensor[2]>[_t0A79,_t0A7B];
          tensor[2] pos0A89#3 = Add<tensor[2]>(_t0A7D,_t07C6);
          bool _t0A8C#1 = Inside<2>(pos0A89,F0638);
          if _t0A8C then goto ASSIGN0A91 else goto ASSIGN0A93
        ASSIGN0A91:  preds = [COND0A94]
          bool _t0A8F#1 = Inside<2>(v1506A6,T0630);
          goto JOIN0A8E
        JOIN0A8E:  preds = [ASSIGN0A91,ASSIGN0A93]
          bool _t0A90#1 = phi(_t0A8F,_t0A92)
          if _t0A90 then goto ASSIGN0A97 else goto JOIN0A95
        ASSIGN0A97:  preds = [COND0AA7]
          real _t0A96#1 = Probe<tensor[2],real>(F0638,pos0A89);
          real _t0A98#1 = Probe<tensor[2],real>(T0630,v1506A6);
          real _t0A9A#2 = Sub<real>(_t0A96,_t0A98);
          real _t0AA2#1 = Mul<real>(_t0A9A,_t0A9A);
          real score0AA4#1 = Add<real>(score0A76,_t0AA2);
          goto JOIN0A95
        JOIN0A95:  preds = [ASSIGN0AA6,COND0AA7]
          real score0AA5#2 = phi(score0AA4,score0A76)
          real _t0AA8#1 = Dot<tensor[2]>(r00788,v1606AE);
          real _t0AAA#1 = Dot<tensor[2]>(r107B6,v1606AE);
          tensor[2] _t0AAC#1 = <tensor[2]>[_t0AA8,_t0AAA];
          tensor[2] pos0AB8#3 = Add<tensor[2]>(_t0AAC,_t07C6);
          bool _t0ABB#1 = Inside<2>(pos0AB8,F0638);
          if _t0ABB then goto ASSIGN0AC0 else goto ASSIGN0AC2
        ASSIGN0AC0:  preds = [COND0AC3]
          bool _t0ABE#1 = Inside<2>(v1606AE,T0630);
          goto JOIN0ABD
        JOIN0ABD:  preds = [ASSIGN0AC0,ASSIGN0AC2]
          bool _t0ABF#1 = phi(_t0ABE,_t0AC1)
          if _t0ABF then goto ASSIGN0AC6 else goto JOIN0AC4
        ASSIGN0AC6:  preds = [COND0AD6]
          real _t0AC5#1 = Probe<tensor[2],real>(F0638,pos0AB8);
          real _t0AC7#1 = Probe<tensor[2],real>(T0630,v1606AE);
          real _t0AC9#2 = Sub<real>(_t0AC5,_t0AC7);
          real _t0AD1#1 = Mul<real>(_t0AC9,_t0AC9);
          real score0AD3#1 = Add<real>(score0AA5,_t0AD1);
          goto JOIN0AC4
        JOIN0AC4:  preds = [ASSIGN0AD5,COND0AD6]
          real score0AD4#2 = phi(score0AD3,score0AA5)
          real _t0AD7#1 = Dot<tensor[2]>(r00788,v1706B6);
          real _t0AD9#1 = Dot<tensor[2]>(r107B6,v1706B6);
          tensor[2] _t0ADB#1 = <tensor[2]>[_t0AD7,_t0AD9];
          tensor[2] pos0AE7#3 = Add<tensor[2]>(_t0ADB,_t07C6);
          bool _t0AEA#1 = Inside<2>(pos0AE7,F0638);
          if _t0AEA then goto ASSIGN0AEF else goto ASSIGN0AF1
        ASSIGN0AEF:  preds = [COND0AF2]
          bool _t0AED#1 = Inside<2>(v1706B6,T0630);
          goto JOIN0AEC
        JOIN0AEC:  preds = [ASSIGN0AEF,ASSIGN0AF1]
          bool _t0AEE#1 = phi(_t0AED,_t0AF0)
          if _t0AEE then goto ASSIGN0AF5 else goto JOIN0AF3
        ASSIGN0AF5:  preds = [COND0B05]
          real _t0AF4#1 = Probe<tensor[2],real>(F0638,pos0AE7);
          real _t0AF6#1 = Probe<tensor[2],real>(T0630,v1706B6);
          real _t0AF8#2 = Sub<real>(_t0AF4,_t0AF6);
          real _t0B00#1 = Mul<real>(_t0AF8,_t0AF8);
          real score0B02#1 = Add<real>(score0AD4,_t0B00);
          goto JOIN0AF3
        JOIN0AF3:  preds = [ASSIGN0B04,COND0B05]
          real score0B03#2 = phi(score0B02,score0AD4)
          real _t0B06#1 = Dot<tensor[2]>(r00788,v1806C0);
          real _t0B08#1 = Dot<tensor[2]>(r107B6,v1806C0);
          tensor[2] _t0B0A#1 = <tensor[2]>[_t0B06,_t0B08];
          tensor[2] pos0B16#3 = Add<tensor[2]>(_t0B0A,_t07C6);
          bool _t0B19#1 = Inside<2>(pos0B16,F0638);
          if _t0B19 then goto ASSIGN0B1E else goto ASSIGN0B20
        ASSIGN0B1E:  preds = [COND0B21]
          bool _t0B1C#1 = Inside<2>(v1806C0,T0630);
          goto JOIN0B1B
        JOIN0B1B:  preds = [ASSIGN0B1E,ASSIGN0B20]
          bool _t0B1D#1 = phi(_t0B1C,_t0B1F)
          if _t0B1D then goto ASSIGN0B24 else goto JOIN0B22
        ASSIGN0B24:  preds = [COND0B34]
          real _t0B23#1 = Probe<tensor[2],real>(F0638,pos0B16);
          real _t0B25#1 = Probe<tensor[2],real>(T0630,v1806C0);
          real _t0B27#2 = Sub<real>(_t0B23,_t0B25);
          real _t0B2F#1 = Mul<real>(_t0B27,_t0B27);
          real score0B31#1 = Add<real>(score0B03,_t0B2F);
          goto JOIN0B22
        JOIN0B22:  preds = [ASSIGN0B33,COND0B34]
          real score0B32#2 = phi(score0B31,score0B03)
          real _t0B35#1 = Dot<tensor[2]>(r00788,v1906CA);
          real _t0B37#1 = Dot<tensor[2]>(r107B6,v1906CA);
          tensor[2] _t0B39#1 = <tensor[2]>[_t0B35,_t0B37];
          tensor[2] pos0B45#3 = Add<tensor[2]>(_t0B39,_t07C6);
          bool _t0B48#1 = Inside<2>(pos0B45,F0638);
          if _t0B48 then goto ASSIGN0B4D else goto ASSIGN0B4F
        ASSIGN0B4D:  preds = [COND0B50]
          bool _t0B4B#1 = Inside<2>(v1906CA,T0630);
          goto JOIN0B4A
        JOIN0B4A:  preds = [ASSIGN0B4D,ASSIGN0B4F]
          bool _t0B4C#1 = phi(_t0B4B,_t0B4E)
          if _t0B4C then goto ASSIGN0B53 else goto JOIN0B51
        ASSIGN0B53:  preds = [COND0B63]
          real _t0B52#1 = Probe<tensor[2],real>(F0638,pos0B45);
          real _t0B54#1 = Probe<tensor[2],real>(T0630,v1906CA);
          real _t0B56#2 = Sub<real>(_t0B52,_t0B54);
          real _t0B5E#1 = Mul<real>(_t0B56,_t0B56);
          real score0B60#1 = Add<real>(score0B32,_t0B5E);
          goto JOIN0B51
        JOIN0B51:  preds = [ASSIGN0B62,COND0B63]
          real score0B61#2 = phi(score0B60,score0B32)
          real _t0B64#1 = Dot<tensor[2]>(r00788,v2006D2);
          real _t0B66#1 = Dot<tensor[2]>(r107B6,v2006D2);
          tensor[2] _t0B68#1 = <tensor[2]>[_t0B64,_t0B66];
          tensor[2] pos0B74#3 = Add<tensor[2]>(_t0B68,_t07C6);
          bool _t0B77#1 = Inside<2>(pos0B74,F0638);
          if _t0B77 then goto ASSIGN0B7C else goto ASSIGN0B7E
        ASSIGN0B7C:  preds = [COND0B7F]
          bool _t0B7A#1 = Inside<2>(v2006D2,T0630);
          goto JOIN0B79
        JOIN0B79:  preds = [ASSIGN0B7C,ASSIGN0B7E]
          bool _t0B7B#1 = phi(_t0B7A,_t0B7D)
          if _t0B7B then goto ASSIGN0B82 else goto JOIN0B80
        ASSIGN0B82:  preds = [COND0B92]
          real _t0B81#1 = Probe<tensor[2],real>(F0638,pos0B74);
          real _t0B83#1 = Probe<tensor[2],real>(T0630,v2006D2);
          real _t0B85#2 = Sub<real>(_t0B81,_t0B83);
          real _t0B8D#1 = Mul<real>(_t0B85,_t0B85);
          real score0B8F#1 = Add<real>(score0B61,_t0B8D);
          goto JOIN0B80
        JOIN0B80:  preds = [ASSIGN0B91,COND0B92]
          real score0B90#2 = phi(score0B8F,score0B61)
          real _t0B93#1 = Dot<tensor[2]>(r00788,v2106DA);
          real _t0B95#1 = Dot<tensor[2]>(r107B6,v2106DA);
          tensor[2] _t0B97#1 = <tensor[2]>[_t0B93,_t0B95];
          tensor[2] pos0BA3#3 = Add<tensor[2]>(_t0B97,_t07C6);
          bool _t0BA6#1 = Inside<2>(pos0BA3,F0638);
          if _t0BA6 then goto ASSIGN0BAB else goto ASSIGN0BAD
        ASSIGN0BAB:  preds = [COND0BAE]
          bool _t0BA9#1 = Inside<2>(v2106DA,T0630);
          goto JOIN0BA8
        JOIN0BA8:  preds = [ASSIGN0BAB,ASSIGN0BAD]
          bool _t0BAA#1 = phi(_t0BA9,_t0BAC)
          if _t0BAA then goto ASSIGN0BB1 else goto JOIN0BAF
        ASSIGN0BB1:  preds = [COND0BC1]
          real _t0BB0#1 = Probe<tensor[2],real>(F0638,pos0BA3);
          real _t0BB2#1 = Probe<tensor[2],real>(T0630,v2106DA);
          real _t0BB4#2 = Sub<real>(_t0BB0,_t0BB2);
          real _t0BBC#1 = Mul<real>(_t0BB4,_t0BB4);
          real score0BBE#1 = Add<real>(score0B90,_t0BBC);
          goto JOIN0BAF
        JOIN0BAF:  preds = [ASSIGN0BC0,COND0BC1]
          real score0BBF#2 = phi(score0BBE,score0B90)
          real _t0BC2#1 = Dot<tensor[2]>(r00788,v2206E2);
          real _t0BC4#1 = Dot<tensor[2]>(r107B6,v2206E2);
          tensor[2] _t0BC6#1 = <tensor[2]>[_t0BC2,_t0BC4];
          tensor[2] pos0BD2#3 = Add<tensor[2]>(_t0BC6,_t07C6);
          bool _t0BD5#1 = Inside<2>(pos0BD2,F0638);
          if _t0BD5 then goto ASSIGN0BDA else goto ASSIGN0BDC
        ASSIGN0BDA:  preds = [COND0BDD]
          bool _t0BD8#1 = Inside<2>(v2206E2,T0630);
          goto JOIN0BD7
        JOIN0BD7:  preds = [ASSIGN0BDA,ASSIGN0BDC]
          bool _t0BD9#1 = phi(_t0BD8,_t0BDB)
          if _t0BD9 then goto ASSIGN0BE0 else goto JOIN0BDE
        ASSIGN0BE0:  preds = [COND0BF0]
          real _t0BDF#1 = Probe<tensor[2],real>(F0638,pos0BD2);
          real _t0BE1#1 = Probe<tensor[2],real>(T0630,v2206E2);
          real _t0BE3#2 = Sub<real>(_t0BDF,_t0BE1);
          real _t0BEB#1 = Mul<real>(_t0BE3,_t0BE3);
          real score0BED#1 = Add<real>(score0BBF,_t0BEB);
          goto JOIN0BDE
        JOIN0BDE:  preds = [ASSIGN0BEF,COND0BF0]
          real score0BEE#2 = phi(score0BED,score0BBF)
          real _t0BF1#1 = Dot<tensor[2]>(r00788,v2306EC);
          real _t0BF3#1 = Dot<tensor[2]>(r107B6,v2306EC);
          tensor[2] _t0BF5#1 = <tensor[2]>[_t0BF1,_t0BF3];
          tensor[2] pos0C01#3 = Add<tensor[2]>(_t0BF5,_t07C6);
          bool _t0C04#1 = Inside<2>(pos0C01,F0638);
          if _t0C04 then goto ASSIGN0C09 else goto ASSIGN0C0B
        ASSIGN0C09:  preds = [COND0C0C]
          bool _t0C07#1 = Inside<2>(v2306EC,T0630);
          goto JOIN0C06
        JOIN0C06:  preds = [ASSIGN0C09,ASSIGN0C0B]
          bool _t0C08#1 = phi(_t0C07,_t0C0A)
          if _t0C08 then goto ASSIGN0C0F else goto JOIN0C0D
        ASSIGN0C0F:  preds = [COND0C1F]
          real _t0C0E#1 = Probe<tensor[2],real>(F0638,pos0C01);
          real _t0C10#1 = Probe<tensor[2],real>(T0630,v2306EC);
          real _t0C12#2 = Sub<real>(_t0C0E,_t0C10);
          real _t0C1A#1 = Mul<real>(_t0C12,_t0C12);
          real score0C1C#1 = Add<real>(score0BEE,_t0C1A);
          goto JOIN0C0D
        JOIN0C0D:  preds = [ASSIGN0C1E,COND0C1F]
          real score0C1D#2 = phi(score0C1C,score0BEE)
          real _t0C20#1 = Dot<tensor[2]>(r00788,v2406F6);
          real _t0C22#1 = Dot<tensor[2]>(r107B6,v2406F6);
          tensor[2] _t0C24#1 = <tensor[2]>[_t0C20,_t0C22];
          tensor[2] pos0C30#4 = Add<tensor[2]>(_t0C24,_t07C6);
          bool _t0C33#1 = Inside<2>(pos0C30,F0638);
          if _t0C33 then goto ASSIGN0C38 else goto ASSIGN0C3A
        ASSIGN0C38:  preds = [COND0C3B]
          bool _t0C36#1 = Inside<2>(v2406F6,T0630);
          goto JOIN0C35
        JOIN0C35:  preds = [ASSIGN0C38,ASSIGN0C3A]
          bool _t0C37#1 = phi(_t0C36,_t0C39)
          if _t0C37 then goto ASSIGN0C3E else goto JOIN0C3C
        ASSIGN0C3E:  preds = [COND0C4E]
          real _t0C3D#1 = Probe<tensor[2],real>(F0638,pos0C30);
          real _t0C3F#1 = Probe<tensor[2],real>(T0630,v2406F6);
          real _t0C41#2 = Sub<real>(_t0C3D,_t0C3F);
          real _t0C49#1 = Mul<real>(_t0C41,_t0C41);
          real score0C4B#1 = Add<real>(score0C1D,_t0C49);
          goto JOIN0C3C
        JOIN0C3C:  preds = [ASSIGN0C4D,COND0C4E]
          real score0C4C#1 = phi(score0C4B,score0C1D)
          self.t = t0750;
          self.score = score0C4C;
          self.r0 = r00788;
          self.r1 = r107B6;
          self.pos = pos0C30;
          stabilize ()
        ASSIGN0C3A:  preds = [COND0C3B]
          bool _t0C39#1 = false;
          goto JOIN0C35
        ASSIGN0C0B:  preds = [COND0C0C]
          bool _t0C0A#1 = false;
          goto JOIN0C06
        ASSIGN0BDC:  preds = [COND0BDD]
          bool _t0BDB#1 = false;
          goto JOIN0BD7
        ASSIGN0BAD:  preds = [COND0BAE]
          bool _t0BAC#1 = false;
          goto JOIN0BA8
        ASSIGN0B7E:  preds = [COND0B7F]
          bool _t0B7D#1 = false;
          goto JOIN0B79
        ASSIGN0B4F:  preds = [COND0B50]
          bool _t0B4E#1 = false;
          goto JOIN0B4A
        ASSIGN0B20:  preds = [COND0B21]
          bool _t0B1F#1 = false;
          goto JOIN0B1B
        ASSIGN0AF1:  preds = [COND0AF2]
          bool _t0AF0#1 = false;
          goto JOIN0AEC
        ASSIGN0AC2:  preds = [COND0AC3]
          bool _t0AC1#1 = false;
          goto JOIN0ABD
        ASSIGN0A93:  preds = [COND0A94]
          bool _t0A92#1 = false;
          goto JOIN0A8E
        ASSIGN0A64:  preds = [COND0A65]
          bool _t0A63#1 = false;
          goto JOIN0A5F
        ASSIGN0A35:  preds = [COND0A36]
          bool _t0A34#1 = false;
          goto JOIN0A30
        ASSIGN0A06:  preds = [COND0A07]
          bool _t0A05#1 = false;
          goto JOIN0A01
        ASSIGN09D7:  preds = [COND09D8]
          bool _t09D6#1 = false;
          goto JOIN09D2
        ASSIGN09A8:  preds = [COND09A9]
          bool _t09A7#1 = false;
          goto JOIN09A3
        ASSIGN0979:  preds = [COND097A]
          bool _t0978#1 = false;
          goto JOIN0974
        ASSIGN094A:  preds = [COND094B]
          bool _t0949#1 = false;
          goto JOIN0945
        ASSIGN091B:  preds = [COND091C]
          bool _t091A#1 = false;
          goto JOIN0916
        ASSIGN08EC:  preds = [COND08ED]
          bool _t08EB#1 = false;
          goto JOIN08E7
        ASSIGN08BD:  preds = [COND08BE]
          bool _t08BC#1 = false;
          goto JOIN08B8
        ASSIGN088E:  preds = [COND088F]
          bool _t088D#1 = false;
          goto JOIN0889
        ASSIGN085F:  preds = [COND0860]
          bool _t085E#1 = false;
          goto JOIN085A
        ASSIGN0830:  preds = [COND0831]
          bool _t082F#1 = false;
          goto JOIN082B
        ASSIGN0801:  preds = [COND0802]
          bool _t0800#1 = false;
          goto JOIN07FC
        ASSIGN07D2:  preds = [COND07D3]
          bool _t07D1#1 = false;
          goto JOIN07CD
    end Update
    method Stabilize
        ENTRY0C61:  preds = []
          tensor[3] t0C57#1 = self.t;
          real score0C58#1 = self.score;
          tensor[2] r00C59#1 = self.r0;
          tensor[2] r10C5A#1 = self.r1;
          tensor[2] pos0C5B#1 = self.pos;
          self.t = t0C57;
          self.score = score0C58;
          self.r0 = r00C59;
          self.r1 = r10C5A;
          self.pos = pos0C5B;
          return ()
    end Stabilize
  end R
#### end program ####
++ high-opt:unused
++ high-opt:unused
++ high-opt:unused
##### HighIL after normalization ####
## properties
  none
## globals
  global field T0630#75
  global field F0638#75
  global tensor[2] v00063E#5
  global tensor[2] v010644#5
  global tensor[2] v02064A#5
  global tensor[2] v030652#5
  global tensor[2] v04065A#5
  global tensor[2] v050660#5
  global tensor[2] v060666#5
  global tensor[2] v07066C#5
  global tensor[2] v080674#5
  global tensor[2] v09067C#5
  global tensor[2] v100682#5
  global tensor[2] v110688#5
  global tensor[2] v12068E#5
  global tensor[2] v130696#5
  global tensor[2] v14069E#5
  global tensor[2] v1506A6#5
  global tensor[2] v1606AE#5
  global tensor[2] v1706B6#5
  global tensor[2] v1806C0#5
  global tensor[2] v1906CA#5
  global tensor[2] v2006D2#5
  global tensor[2] v2106DA#5
  global tensor[2] v2206E2#5
  global tensor[2] v2306EC#5
  global tensor[2] v2406F6#5
  global string _t062C#1
  global image2D _t062E#1
  global kernel _t062A#3
  global string _t0634#1
  global image2D _t0636#1
  global real _t063A#19
  global real _t0642#30
  global real _t0650#19
  global real _t0648#30
  global real _t0658#19
## global initialization
  ENTRY06F8:  preds = []
    kernel _t062A#3 = Kernel<bspln3,0>;
    string _t062C#1 = "square-template.nrrd";
    image2D _t062E#1 = LoadImage<IMAGE2D<int>>(_t062C);
    field T0630#75 = Field<2>(_t062E,_t062A);
    string _t0634#1 = "square-rotate.nrrd";
    image2D _t0636#1 = LoadImage<IMAGE2D<float>>(_t0634);
    field F0638#75 = Field<2>(_t0636,_t062A);
    real _t063A#19 = 0.0;
    tensor[2] v00063E#5 = <tensor[2]>[_t063A,_t063A];
    real _t0642#30 = 0.25e0;
    tensor[2] v010644#5 = <tensor[2]>[_t063A,_t0642];
    real _t0648#30 = 0.5e0;
    tensor[2] v02064A#5 = <tensor[2]>[_t063A,_t0648];
    real _t0650#19 = Neg<real>(_t0642);
    tensor[2] v030652#5 = <tensor[2]>[_t063A,_t0650];
    real _t0658#19 = Neg<real>(_t0648);
    tensor[2] v04065A#5 = <tensor[2]>[_t063A,_t0658];
    tensor[2] v050660#5 = <tensor[2]>[_t0642,_t063A];
    tensor[2] v060666#5 = <tensor[2]>[_t0642,_t0642];
    tensor[2] v07066C#5 = <tensor[2]>[_t0642,_t0648];
    tensor[2] v080674#5 = <tensor[2]>[_t0642,_t0650];
    tensor[2] v09067C#5 = <tensor[2]>[_t0642,_t0658];
    tensor[2] v100682#5 = <tensor[2]>[_t0648,_t063A];
    tensor[2] v110688#5 = <tensor[2]>[_t0648,_t0642];
    tensor[2] v12068E#5 = <tensor[2]>[_t0648,_t0648];
    tensor[2] v130696#5 = <tensor[2]>[_t0648,_t0650];
    tensor[2] v14069E#5 = <tensor[2]>[_t0648,_t0658];
    tensor[2] v1506A6#5 = <tensor[2]>[_t0650,_t063A];
    tensor[2] v1606AE#5 = <tensor[2]>[_t0650,_t0642];
    tensor[2] v1706B6#5 = <tensor[2]>[_t0650,_t0648];
    tensor[2] v1806C0#5 = <tensor[2]>[_t0650,_t0650];
    tensor[2] v1906CA#5 = <tensor[2]>[_t0650,_t0658];
    tensor[2] v2006D2#5 = <tensor[2]>[_t0658,_t063A];
    tensor[2] v2106DA#5 = <tensor[2]>[_t0658,_t0642];
    tensor[2] v2206E2#5 = <tensor[2]>[_t0658,_t0648];
    tensor[2] v2306EC#5 = <tensor[2]>[_t0658,_t0650];
    tensor[2] v2406F6#5 = <tensor[2]>[_t0658,_t0658];
    return (T0630,F0638,v00063E,v010644,v02064A,v030652,v04065A,v050660,v060666,v07066C,v080674,v09067C,v100682,v110688,v12068E,v130696,v14069E,v1506A6,v1606AE,v1706B6,v1806C0,v1906CA,v2006D2,v2106DA,v2206E2,v2306EC,v2406F6,_t062C,_t062E,_t062A,_t0634,_t0636,_t063A,_t0642,_t0650,_t0648,_t0658)
## initially
  ARRAY
    ENTRY0706:  preds = []
      int _t06FA#4 = 0;
      int _t06FC#4 = 60;
      live vars = (_t06FC,_t06FA)
    for int i0708#1 = _t06FA .. _t06FC
      for int j0709#1 = _t06FA .. _t06FC
        for int k070A#1 = _t06FA .. _t06FC
          ENTRY070B:  preds = []
            live vars = ()
          new R(i0708,j0709,k070A);
## strands
  strand R (int i070D#1, int j070E#1, int k070F#1)
    state: tensor[3] self.t;output real self.score;tensor[2] self.r0;tensor[2] self.r1;tensor[2] self.pos;
      ENTRY0749:  preds = []
        real _t0715#1 = IntToReal(i070D);
        real _t0717#3 = 0.60e2;
        real _t0719#1 = Div<real>(_t0715,_t0717);
        real _t071B#3 = 0.5e0;
        real _t071D#1 = Sub<real>(_t0719,_t071B);
        real _t071F#1 = IntToReal(j070E);
        real _t0723#1 = Div<real>(_t071F,_t0717);
        real _t0727#1 = Sub<real>(_t0723,_t071B);
        real _t0729#1 = IntToReal(k070F);
        real _t072D#1 = Div<real>(_t0729,_t0717);
        real _t0731#1 = Sub<real>(_t072D,_t071B);
        tensor[3] t0733#1 = <tensor[3]>[_t071D,_t0727,_t0731];
        real score0735#3 = 0.0;
        tensor[2] r0073B#3 = <tensor[2]>[score0735,score0735];
        self.t = t0733;
        self.score = score0735;
        self.r0 = r0073B;
        self.r1 = r0073B;
        self.pos = r0073B;
        strand_init ()
    method Update
        ENTRY0C55:  preds = []
          tensor[3] t0750#61 = self.t;
          real score0751#2 = self.score;
          real _t075A#2 = 0.1e1;
          real _t075C#3 = 0.2e1;
          int _t075E#1 = 2;
          real _t0760#6 = TensorSub<tensor[3]>(t0750,_t075E);
          real _t0762#1 = Mul<real>(_t075C,_t0760);
          real _t0768#1 = Mul<real>(_t0762,_t0760);
          real _t076A#2 = Sub<real>(_t075A,_t0768);
          real _t076E#1 = Neg<real>(_t075C);
          real _t077A#1 = Mul<real>(_t0760,_t0760);
          real _t077C#1 = Sub<real>(_t075A,_t077A);
          real _t077E#2 = sqrt(_t077C);
          real _t0780#1 = Mul<real>(_t076E,_t077E);
          real _t0786#1 = Mul<real>(_t0780,_t0760);
          tensor[2] r00788#26 = <tensor[2]>[_t076A,_t0786];
          real _t079C#1 = Mul<real>(_t075C,_t077E);
          real _t07A2#1 = Mul<real>(_t079C,_t0760);
          tensor[2] r107B6#26 = <tensor[2]>[_t07A2,_t076A];
          real _t07B8#1 = Dot<tensor[2]>(r00788,v00063E);
          real _t07BA#1 = Dot<tensor[2]>(r107B6,v00063E);
          tensor[2] _t07BC#1 = <tensor[2]>[_t07B8,_t07BA];
          int _t07BE#1 = 0;
          real _t07C0#1 = TensorSub<tensor[3]>(t0750,_t07BE);
          int _t07C2#1 = 1;
          real _t07C4#1 = TensorSub<tensor[3]>(t0750,_t07C2);
          tensor[2] _t07C6#25 = <tensor[2]>[_t07C0,_t07C4];
          tensor[2] pos07C8#3 = Add<tensor[2]>(_t07BC,_t07C6);
          bool _t07CB#1 = Inside<2>(pos07C8,F0638);
          if _t07CB then goto ASSIGN07D0 else goto ASSIGN07D2
        ASSIGN07D0:  preds = [COND07D3]
          bool _t07CE#1 = Inside<2>(v00063E,T0630);
          goto JOIN07CD
        JOIN07CD:  preds = [ASSIGN07D0,ASSIGN07D2]
          bool _t07CF#1 = phi(_t07CE,_t07D1)
          if _t07CF then goto ASSIGN07D6 else goto JOIN07D4
        ASSIGN07D6:  preds = [COND07E6]
          real _t07D5#1 = Probe<tensor[2],real>(F0638,pos07C8);
          real _t07D7#1 = Probe<tensor[2],real>(T0630,v00063E);
          real _t07D9#2 = Sub<real>(_t07D5,_t07D7);
          real _t07E1#1 = Mul<real>(_t07D9,_t07D9);
          real score07E3#1 = Add<real>(score0751,_t07E1);
          goto JOIN07D4
        JOIN07D4:  preds = [ASSIGN07E5,COND07E6]
          real score07E4#2 = phi(score07E3,score0751)
          real _t07E7#1 = Dot<tensor[2]>(r00788,v010644);
          real _t07E9#1 = Dot<tensor[2]>(r107B6,v010644);
          tensor[2] _t07EB#1 = <tensor[2]>[_t07E7,_t07E9];
          tensor[2] pos07F7#3 = Add<tensor[2]>(_t07EB,_t07C6);
          bool _t07FA#1 = Inside<2>(pos07F7,F0638);
          if _t07FA then goto ASSIGN07FF else goto ASSIGN0801
        ASSIGN07FF:  preds = [COND0802]
          bool _t07FD#1 = Inside<2>(v010644,T0630);
          goto JOIN07FC
        JOIN07FC:  preds = [ASSIGN07FF,ASSIGN0801]
          bool _t07FE#1 = phi(_t07FD,_t0800)
          if _t07FE then goto ASSIGN0805 else goto JOIN0803
        ASSIGN0805:  preds = [COND0815]
          real _t0804#1 = Probe<tensor[2],real>(F0638,pos07F7);
          real _t0806#1 = Probe<tensor[2],real>(T0630,v010644);
          real _t0808#2 = Sub<real>(_t0804,_t0806);
          real _t0810#1 = Mul<real>(_t0808,_t0808);
          real score0812#1 = Add<real>(score07E4,_t0810);
          goto JOIN0803
        JOIN0803:  preds = [ASSIGN0814,COND0815]
          real score0813#2 = phi(score0812,score07E4)
          real _t0816#1 = Dot<tensor[2]>(r00788,v02064A);
          real _t0818#1 = Dot<tensor[2]>(r107B6,v02064A);
          tensor[2] _t081A#1 = <tensor[2]>[_t0816,_t0818];
          tensor[2] pos0826#3 = Add<tensor[2]>(_t081A,_t07C6);
          bool _t0829#1 = Inside<2>(pos0826,F0638);
          if _t0829 then goto ASSIGN082E else goto ASSIGN0830
        ASSIGN082E:  preds = [COND0831]
          bool _t082C#1 = Inside<2>(v02064A,T0630);
          goto JOIN082B
        JOIN082B:  preds = [ASSIGN082E,ASSIGN0830]
          bool _t082D#1 = phi(_t082C,_t082F)
          if _t082D then goto ASSIGN0834 else goto JOIN0832
        ASSIGN0834:  preds = [COND0844]
          real _t0833#1 = Probe<tensor[2],real>(F0638,pos0826);
          real _t0835#1 = Probe<tensor[2],real>(T0630,v02064A);
          real _t0837#2 = Sub<real>(_t0833,_t0835);
          real _t083F#1 = Mul<real>(_t0837,_t0837);
          real score0841#1 = Add<real>(score0813,_t083F);
          goto JOIN0832
        JOIN0832:  preds = [ASSIGN0843,COND0844]
          real score0842#2 = phi(score0841,score0813)
          real _t0845#1 = Dot<tensor[2]>(r00788,v030652);
          real _t0847#1 = Dot<tensor[2]>(r107B6,v030652);
          tensor[2] _t0849#1 = <tensor[2]>[_t0845,_t0847];
          tensor[2] pos0855#3 = Add<tensor[2]>(_t0849,_t07C6);
          bool _t0858#1 = Inside<2>(pos0855,F0638);
          if _t0858 then goto ASSIGN085D else goto ASSIGN085F
        ASSIGN085D:  preds = [COND0860]
          bool _t085B#1 = Inside<2>(v030652,T0630);
          goto JOIN085A
        JOIN085A:  preds = [ASSIGN085D,ASSIGN085F]
          bool _t085C#1 = phi(_t085B,_t085E)
          if _t085C then goto ASSIGN0863 else goto JOIN0861
        ASSIGN0863:  preds = [COND0873]
          real _t0862#1 = Probe<tensor[2],real>(F0638,pos0855);
          real _t0864#1 = Probe<tensor[2],real>(T0630,v030652);
          real _t0866#2 = Sub<real>(_t0862,_t0864);
          real _t086E#1 = Mul<real>(_t0866,_t0866);
          real score0870#1 = Add<real>(score0842,_t086E);
          goto JOIN0861
        JOIN0861:  preds = [ASSIGN0872,COND0873]
          real score0871#2 = phi(score0870,score0842)
          real _t0874#1 = Dot<tensor[2]>(r00788,v04065A);
          real _t0876#1 = Dot<tensor[2]>(r107B6,v04065A);
          tensor[2] _t0878#1 = <tensor[2]>[_t0874,_t0876];
          tensor[2] pos0884#3 = Add<tensor[2]>(_t0878,_t07C6);
          bool _t0887#1 = Inside<2>(pos0884,F0638);
          if _t0887 then goto ASSIGN088C else goto ASSIGN088E
        ASSIGN088C:  preds = [COND088F]
          bool _t088A#1 = Inside<2>(v04065A,T0630);
          goto JOIN0889
        JOIN0889:  preds = [ASSIGN088C,ASSIGN088E]
          bool _t088B#1 = phi(_t088A,_t088D)
          if _t088B then goto ASSIGN0892 else goto JOIN0890
        ASSIGN0892:  preds = [COND08A2]
          real _t0891#1 = Probe<tensor[2],real>(F0638,pos0884);
          real _t0893#1 = Probe<tensor[2],real>(T0630,v04065A);
          real _t0895#2 = Sub<real>(_t0891,_t0893);
          real _t089D#1 = Mul<real>(_t0895,_t0895);
          real score089F#1 = Add<real>(score0871,_t089D);
          goto JOIN0890
        JOIN0890:  preds = [ASSIGN08A1,COND08A2]
          real score08A0#2 = phi(score089F,score0871)
          real _t08A3#1 = Dot<tensor[2]>(r00788,v050660);
          real _t08A5#1 = Dot<tensor[2]>(r107B6,v050660);
          tensor[2] _t08A7#1 = <tensor[2]>[_t08A3,_t08A5];
          tensor[2] pos08B3#3 = Add<tensor[2]>(_t08A7,_t07C6);
          bool _t08B6#1 = Inside<2>(pos08B3,F0638);
          if _t08B6 then goto ASSIGN08BB else goto ASSIGN08BD
        ASSIGN08BB:  preds = [COND08BE]
          bool _t08B9#1 = Inside<2>(v050660,T0630);
          goto JOIN08B8
        JOIN08B8:  preds = [ASSIGN08BB,ASSIGN08BD]
          bool _t08BA#1 = phi(_t08B9,_t08BC)
          if _t08BA then goto ASSIGN08C1 else goto JOIN08BF
        ASSIGN08C1:  preds = [COND08D1]
          real _t08C0#1 = Probe<tensor[2],real>(F0638,pos08B3);
          real _t08C2#1 = Probe<tensor[2],real>(T0630,v050660);
          real _t08C4#2 = Sub<real>(_t08C0,_t08C2);
          real _t08CC#1 = Mul<real>(_t08C4,_t08C4);
          real score08CE#1 = Add<real>(score08A0,_t08CC);
          goto JOIN08BF
        JOIN08BF:  preds = [ASSIGN08D0,COND08D1]
          real score08CF#2 = phi(score08CE,score08A0)
          real _t08D2#1 = Dot<tensor[2]>(r00788,v060666);
          real _t08D4#1 = Dot<tensor[2]>(r107B6,v060666);
          tensor[2] _t08D6#1 = <tensor[2]>[_t08D2,_t08D4];
          tensor[2] pos08E2#3 = Add<tensor[2]>(_t08D6,_t07C6);
          bool _t08E5#1 = Inside<2>(pos08E2,F0638);
          if _t08E5 then goto ASSIGN08EA else goto ASSIGN08EC
        ASSIGN08EA:  preds = [COND08ED]
          bool _t08E8#1 = Inside<2>(v060666,T0630);
          goto JOIN08E7
        JOIN08E7:  preds = [ASSIGN08EA,ASSIGN08EC]
          bool _t08E9#1 = phi(_t08E8,_t08EB)
          if _t08E9 then goto ASSIGN08F0 else goto JOIN08EE
        ASSIGN08F0:  preds = [COND0900]
          real _t08EF#1 = Probe<tensor[2],real>(F0638,pos08E2);
          real _t08F1#1 = Probe<tensor[2],real>(T0630,v060666);
          real _t08F3#2 = Sub<real>(_t08EF,_t08F1);
          real _t08FB#1 = Mul<real>(_t08F3,_t08F3);
          real score08FD#1 = Add<real>(score08CF,_t08FB);
          goto JOIN08EE
        JOIN08EE:  preds = [ASSIGN08FF,COND0900]
          real score08FE#2 = phi(score08FD,score08CF)
          real _t0901#1 = Dot<tensor[2]>(r00788,v07066C);
          real _t0903#1 = Dot<tensor[2]>(r107B6,v07066C);
          tensor[2] _t0905#1 = <tensor[2]>[_t0901,_t0903];
          tensor[2] pos0911#3 = Add<tensor[2]>(_t0905,_t07C6);
          bool _t0914#1 = Inside<2>(pos0911,F0638);
          if _t0914 then goto ASSIGN0919 else goto ASSIGN091B
        ASSIGN0919:  preds = [COND091C]
          bool _t0917#1 = Inside<2>(v07066C,T0630);
          goto JOIN0916
        JOIN0916:  preds = [ASSIGN0919,ASSIGN091B]
          bool _t0918#1 = phi(_t0917,_t091A)
          if _t0918 then goto ASSIGN091F else goto JOIN091D
        ASSIGN091F:  preds = [COND092F]
          real _t091E#1 = Probe<tensor[2],real>(F0638,pos0911);
          real _t0920#1 = Probe<tensor[2],real>(T0630,v07066C);
          real _t0922#2 = Sub<real>(_t091E,_t0920);
          real _t092A#1 = Mul<real>(_t0922,_t0922);
          real score092C#1 = Add<real>(score08FE,_t092A);
          goto JOIN091D
        JOIN091D:  preds = [ASSIGN092E,COND092F]
          real score092D#2 = phi(score092C,score08FE)
          real _t0930#1 = Dot<tensor[2]>(r00788,v080674);
          real _t0932#1 = Dot<tensor[2]>(r107B6,v080674);
          tensor[2] _t0934#1 = <tensor[2]>[_t0930,_t0932];
          tensor[2] pos0940#3 = Add<tensor[2]>(_t0934,_t07C6);
          bool _t0943#1 = Inside<2>(pos0940,F0638);
          if _t0943 then goto ASSIGN0948 else goto ASSIGN094A
        ASSIGN0948:  preds = [COND094B]
          bool _t0946#1 = Inside<2>(v080674,T0630);
          goto JOIN0945
        JOIN0945:  preds = [ASSIGN0948,ASSIGN094A]
          bool _t0947#1 = phi(_t0946,_t0949)
          if _t0947 then goto ASSIGN094E else goto JOIN094C
        ASSIGN094E:  preds = [COND095E]
          real _t094D#1 = Probe<tensor[2],real>(F0638,pos0940);
          real _t094F#1 = Probe<tensor[2],real>(T0630,v080674);
          real _t0951#2 = Sub<real>(_t094D,_t094F);
          real _t0959#1 = Mul<real>(_t0951,_t0951);
          real score095B#1 = Add<real>(score092D,_t0959);
          goto JOIN094C
        JOIN094C:  preds = [ASSIGN095D,COND095E]
          real score095C#2 = phi(score095B,score092D)
          real _t095F#1 = Dot<tensor[2]>(r00788,v09067C);
          real _t0961#1 = Dot<tensor[2]>(r107B6,v09067C);
          tensor[2] _t0963#1 = <tensor[2]>[_t095F,_t0961];
          tensor[2] pos096F#3 = Add<tensor[2]>(_t0963,_t07C6);
          bool _t0972#1 = Inside<2>(pos096F,F0638);
          if _t0972 then goto ASSIGN0977 else goto ASSIGN0979
        ASSIGN0977:  preds = [COND097A]
          bool _t0975#1 = Inside<2>(v09067C,T0630);
          goto JOIN0974
        JOIN0974:  preds = [ASSIGN0977,ASSIGN0979]
          bool _t0976#1 = phi(_t0975,_t0978)
          if _t0976 then goto ASSIGN097D else goto JOIN097B
        ASSIGN097D:  preds = [COND098D]
          real _t097C#1 = Probe<tensor[2],real>(F0638,pos096F);
          real _t097E#1 = Probe<tensor[2],real>(T0630,v09067C);
          real _t0980#2 = Sub<real>(_t097C,_t097E);
          real _t0988#1 = Mul<real>(_t0980,_t0980);
          real score098A#1 = Add<real>(score095C,_t0988);
          goto JOIN097B
        JOIN097B:  preds = [ASSIGN098C,COND098D]
          real score098B#2 = phi(score098A,score095C)
          real _t098E#1 = Dot<tensor[2]>(r00788,v100682);
          real _t0990#1 = Dot<tensor[2]>(r107B6,v100682);
          tensor[2] _t0992#1 = <tensor[2]>[_t098E,_t0990];
          tensor[2] pos099E#3 = Add<tensor[2]>(_t0992,_t07C6);
          bool _t09A1#1 = Inside<2>(pos099E,F0638);
          if _t09A1 then goto ASSIGN09A6 else goto ASSIGN09A8
        ASSIGN09A6:  preds = [COND09A9]
          bool _t09A4#1 = Inside<2>(v100682,T0630);
          goto JOIN09A3
        JOIN09A3:  preds = [ASSIGN09A6,ASSIGN09A8]
          bool _t09A5#1 = phi(_t09A4,_t09A7)
          if _t09A5 then goto ASSIGN09AC else goto JOIN09AA
        ASSIGN09AC:  preds = [COND09BC]
          real _t09AB#1 = Probe<tensor[2],real>(F0638,pos099E);
          real _t09AD#1 = Probe<tensor[2],real>(T0630,v100682);
          real _t09AF#2 = Sub<real>(_t09AB,_t09AD);
          real _t09B7#1 = Mul<real>(_t09AF,_t09AF);
          real score09B9#1 = Add<real>(score098B,_t09B7);
          goto JOIN09AA
        JOIN09AA:  preds = [ASSIGN09BB,COND09BC]
          real score09BA#2 = phi(score09B9,score098B)
          real _t09BD#1 = Dot<tensor[2]>(r00788,v110688);
          real _t09BF#1 = Dot<tensor[2]>(r107B6,v110688);
          tensor[2] _t09C1#1 = <tensor[2]>[_t09BD,_t09BF];
          tensor[2] pos09CD#3 = Add<tensor[2]>(_t09C1,_t07C6);
          bool _t09D0#1 = Inside<2>(pos09CD,F0638);
          if _t09D0 then goto ASSIGN09D5 else goto ASSIGN09D7
        ASSIGN09D5:  preds = [COND09D8]
          bool _t09D3#1 = Inside<2>(v110688,T0630);
          goto JOIN09D2
        JOIN09D2:  preds = [ASSIGN09D5,ASSIGN09D7]
          bool _t09D4#1 = phi(_t09D3,_t09D6)
          if _t09D4 then goto ASSIGN09DB else goto JOIN09D9
        ASSIGN09DB:  preds = [COND09EB]
          real _t09DA#1 = Probe<tensor[2],real>(F0638,pos09CD);
          real _t09DC#1 = Probe<tensor[2],real>(T0630,v110688);
          real _t09DE#2 = Sub<real>(_t09DA,_t09DC);
          real _t09E6#1 = Mul<real>(_t09DE,_t09DE);
          real score09E8#1 = Add<real>(score09BA,_t09E6);
          goto JOIN09D9
        JOIN09D9:  preds = [ASSIGN09EA,COND09EB]
          real score09E9#2 = phi(score09E8,score09BA)
          real _t09EC#1 = Dot<tensor[2]>(r00788,v12068E);
          real _t09EE#1 = Dot<tensor[2]>(r107B6,v12068E);
          tensor[2] _t09F0#1 = <tensor[2]>[_t09EC,_t09EE];
          tensor[2] pos09FC#3 = Add<tensor[2]>(_t09F0,_t07C6);
          bool _t09FF#1 = Inside<2>(pos09FC,F0638);
          if _t09FF then goto ASSIGN0A04 else goto ASSIGN0A06
        ASSIGN0A04:  preds = [COND0A07]
          bool _t0A02#1 = Inside<2>(v12068E,T0630);
          goto JOIN0A01
        JOIN0A01:  preds = [ASSIGN0A04,ASSIGN0A06]
          bool _t0A03#1 = phi(_t0A02,_t0A05)
          if _t0A03 then goto ASSIGN0A0A else goto JOIN0A08
        ASSIGN0A0A:  preds = [COND0A1A]
          real _t0A09#1 = Probe<tensor[2],real>(F0638,pos09FC);
          real _t0A0B#1 = Probe<tensor[2],real>(T0630,v12068E);
          real _t0A0D#2 = Sub<real>(_t0A09,_t0A0B);
          real _t0A15#1 = Mul<real>(_t0A0D,_t0A0D);
          real score0A17#1 = Add<real>(score09E9,_t0A15);
          goto JOIN0A08
        JOIN0A08:  preds = [ASSIGN0A19,COND0A1A]
          real score0A18#2 = phi(score0A17,score09E9)
          real _t0A1B#1 = Dot<tensor[2]>(r00788,v130696);
          real _t0A1D#1 = Dot<tensor[2]>(r107B6,v130696);
          tensor[2] _t0A1F#1 = <tensor[2]>[_t0A1B,_t0A1D];
          tensor[2] pos0A2B#3 = Add<tensor[2]>(_t0A1F,_t07C6);
          bool _t0A2E#1 = Inside<2>(pos0A2B,F0638);
          if _t0A2E then goto ASSIGN0A33 else goto ASSIGN0A35
        ASSIGN0A33:  preds = [COND0A36]
          bool _t0A31#1 = Inside<2>(v130696,T0630);
          goto JOIN0A30
        JOIN0A30:  preds = [ASSIGN0A33,ASSIGN0A35]
          bool _t0A32#1 = phi(_t0A31,_t0A34)
          if _t0A32 then goto ASSIGN0A39 else goto JOIN0A37
        ASSIGN0A39:  preds = [COND0A49]
          real _t0A38#1 = Probe<tensor[2],real>(F0638,pos0A2B);
          real _t0A3A#1 = Probe<tensor[2],real>(T0630,v130696);
          real _t0A3C#2 = Sub<real>(_t0A38,_t0A3A);
          real _t0A44#1 = Mul<real>(_t0A3C,_t0A3C);
          real score0A46#1 = Add<real>(score0A18,_t0A44);
          goto JOIN0A37
        JOIN0A37:  preds = [ASSIGN0A48,COND0A49]
          real score0A47#2 = phi(score0A46,score0A18)
          real _t0A4A#1 = Dot<tensor[2]>(r00788,v14069E);
          real _t0A4C#1 = Dot<tensor[2]>(r107B6,v14069E);
          tensor[2] _t0A4E#1 = <tensor[2]>[_t0A4A,_t0A4C];
          tensor[2] pos0A5A#3 = Add<tensor[2]>(_t0A4E,_t07C6);
          bool _t0A5D#1 = Inside<2>(pos0A5A,F0638);
          if _t0A5D then goto ASSIGN0A62 else goto ASSIGN0A64
        ASSIGN0A62:  preds = [COND0A65]
          bool _t0A60#1 = Inside<2>(v14069E,T0630);
          goto JOIN0A5F
        JOIN0A5F:  preds = [ASSIGN0A62,ASSIGN0A64]
          bool _t0A61#1 = phi(_t0A60,_t0A63)
          if _t0A61 then goto ASSIGN0A68 else goto JOIN0A66
        ASSIGN0A68:  preds = [COND0A78]
          real _t0A67#1 = Probe<tensor[2],real>(F0638,pos0A5A);
          real _t0A69#1 = Probe<tensor[2],real>(T0630,v14069E);
          real _t0A6B#2 = Sub<real>(_t0A67,_t0A69);
          real _t0A73#1 = Mul<real>(_t0A6B,_t0A6B);
          real score0A75#1 = Add<real>(score0A47,_t0A73);
          goto JOIN0A66
        JOIN0A66:  preds = [ASSIGN0A77,COND0A78]
          real score0A76#2 = phi(score0A75,score0A47)
          real _t0A79#1 = Dot<tensor[2]>(r00788,v1506A6);
          real _t0A7B#1 = Dot<tensor[2]>(r107B6,v1506A6);
          tensor[2] _t0A7D#1 = <tensor[2]>[_t0A79,_t0A7B];
          tensor[2] pos0A89#3 = Add<tensor[2]>(_t0A7D,_t07C6);
          bool _t0A8C#1 = Inside<2>(pos0A89,F0638);
          if _t0A8C then goto ASSIGN0A91 else goto ASSIGN0A93
        ASSIGN0A91:  preds = [COND0A94]
          bool _t0A8F#1 = Inside<2>(v1506A6,T0630);
          goto JOIN0A8E
        JOIN0A8E:  preds = [ASSIGN0A91,ASSIGN0A93]
          bool _t0A90#1 = phi(_t0A8F,_t0A92)
          if _t0A90 then goto ASSIGN0A97 else goto JOIN0A95
        ASSIGN0A97:  preds = [COND0AA7]
          real _t0A96#1 = Probe<tensor[2],real>(F0638,pos0A89);
          real _t0A98#1 = Probe<tensor[2],real>(T0630,v1506A6);
          real _t0A9A#2 = Sub<real>(_t0A96,_t0A98);
          real _t0AA2#1 = Mul<real>(_t0A9A,_t0A9A);
          real score0AA4#1 = Add<real>(score0A76,_t0AA2);
          goto JOIN0A95
        JOIN0A95:  preds = [ASSIGN0AA6,COND0AA7]
          real score0AA5#2 = phi(score0AA4,score0A76)
          real _t0AA8#1 = Dot<tensor[2]>(r00788,v1606AE);
          real _t0AAA#1 = Dot<tensor[2]>(r107B6,v1606AE);
          tensor[2] _t0AAC#1 = <tensor[2]>[_t0AA8,_t0AAA];
          tensor[2] pos0AB8#3 = Add<tensor[2]>(_t0AAC,_t07C6);
          bool _t0ABB#1 = Inside<2>(pos0AB8,F0638);
          if _t0ABB then goto ASSIGN0AC0 else goto ASSIGN0AC2
        ASSIGN0AC0:  preds = [COND0AC3]
          bool _t0ABE#1 = Inside<2>(v1606AE,T0630);
          goto JOIN0ABD
        JOIN0ABD:  preds = [ASSIGN0AC0,ASSIGN0AC2]
          bool _t0ABF#1 = phi(_t0ABE,_t0AC1)
          if _t0ABF then goto ASSIGN0AC6 else goto JOIN0AC4
        ASSIGN0AC6:  preds = [COND0AD6]
          real _t0AC5#1 = Probe<tensor[2],real>(F0638,pos0AB8);
          real _t0AC7#1 = Probe<tensor[2],real>(T0630,v1606AE);
          real _t0AC9#2 = Sub<real>(_t0AC5,_t0AC7);
          real _t0AD1#1 = Mul<real>(_t0AC9,_t0AC9);
          real score0AD3#1 = Add<real>(score0AA5,_t0AD1);
          goto JOIN0AC4
        JOIN0AC4:  preds = [ASSIGN0AD5,COND0AD6]
          real score0AD4#2 = phi(score0AD3,score0AA5)
          real _t0AD7#1 = Dot<tensor[2]>(r00788,v1706B6);
          real _t0AD9#1 = Dot<tensor[2]>(r107B6,v1706B6);
          tensor[2] _t0ADB#1 = <tensor[2]>[_t0AD7,_t0AD9];
          tensor[2] pos0AE7#3 = Add<tensor[2]>(_t0ADB,_t07C6);
          bool _t0AEA#1 = Inside<2>(pos0AE7,F0638);
          if _t0AEA then goto ASSIGN0AEF else goto ASSIGN0AF1
        ASSIGN0AEF:  preds = [COND0AF2]
          bool _t0AED#1 = Inside<2>(v1706B6,T0630);
          goto JOIN0AEC
        JOIN0AEC:  preds = [ASSIGN0AEF,ASSIGN0AF1]
          bool _t0AEE#1 = phi(_t0AED,_t0AF0)
          if _t0AEE then goto ASSIGN0AF5 else goto JOIN0AF3
        ASSIGN0AF5:  preds = [COND0B05]
          real _t0AF4#1 = Probe<tensor[2],real>(F0638,pos0AE7);
          real _t0AF6#1 = Probe<tensor[2],real>(T0630,v1706B6);
          real _t0AF8#2 = Sub<real>(_t0AF4,_t0AF6);
          real _t0B00#1 = Mul<real>(_t0AF8,_t0AF8);
          real score0B02#1 = Add<real>(score0AD4,_t0B00);
          goto JOIN0AF3
        JOIN0AF3:  preds = [ASSIGN0B04,COND0B05]
          real score0B03#2 = phi(score0B02,score0AD4)
          real _t0B06#1 = Dot<tensor[2]>(r00788,v1806C0);
          real _t0B08#1 = Dot<tensor[2]>(r107B6,v1806C0);
          tensor[2] _t0B0A#1 = <tensor[2]>[_t0B06,_t0B08];
          tensor[2] pos0B16#3 = Add<tensor[2]>(_t0B0A,_t07C6);
          bool _t0B19#1 = Inside<2>(pos0B16,F0638);
          if _t0B19 then goto ASSIGN0B1E else goto ASSIGN0B20
        ASSIGN0B1E:  preds = [COND0B21]
          bool _t0B1C#1 = Inside<2>(v1806C0,T0630);
          goto JOIN0B1B
        JOIN0B1B:  preds = [ASSIGN0B1E,ASSIGN0B20]
          bool _t0B1D#1 = phi(_t0B1C,_t0B1F)
          if _t0B1D then goto ASSIGN0B24 else goto JOIN0B22
        ASSIGN0B24:  preds = [COND0B34]
          real _t0B23#1 = Probe<tensor[2],real>(F0638,pos0B16);
          real _t0B25#1 = Probe<tensor[2],real>(T0630,v1806C0);
          real _t0B27#2 = Sub<real>(_t0B23,_t0B25);
          real _t0B2F#1 = Mul<real>(_t0B27,_t0B27);
          real score0B31#1 = Add<real>(score0B03,_t0B2F);
          goto JOIN0B22
        JOIN0B22:  preds = [ASSIGN0B33,COND0B34]
          real score0B32#2 = phi(score0B31,score0B03)
          real _t0B35#1 = Dot<tensor[2]>(r00788,v1906CA);
          real _t0B37#1 = Dot<tensor[2]>(r107B6,v1906CA);
          tensor[2] _t0B39#1 = <tensor[2]>[_t0B35,_t0B37];
          tensor[2] pos0B45#3 = Add<tensor[2]>(_t0B39,_t07C6);
          bool _t0B48#1 = Inside<2>(pos0B45,F0638);
          if _t0B48 then goto ASSIGN0B4D else goto ASSIGN0B4F
        ASSIGN0B4D:  preds = [COND0B50]
          bool _t0B4B#1 = Inside<2>(v1906CA,T0630);
          goto JOIN0B4A
        JOIN0B4A:  preds = [ASSIGN0B4D,ASSIGN0B4F]
          bool _t0B4C#1 = phi(_t0B4B,_t0B4E)
          if _t0B4C then goto ASSIGN0B53 else goto JOIN0B51
        ASSIGN0B53:  preds = [COND0B63]
          real _t0B52#1 = Probe<tensor[2],real>(F0638,pos0B45);
          real _t0B54#1 = Probe<tensor[2],real>(T0630,v1906CA);
          real _t0B56#2 = Sub<real>(_t0B52,_t0B54);
          real _t0B5E#1 = Mul<real>(_t0B56,_t0B56);
          real score0B60#1 = Add<real>(score0B32,_t0B5E);
          goto JOIN0B51
        JOIN0B51:  preds = [ASSIGN0B62,COND0B63]
          real score0B61#2 = phi(score0B60,score0B32)
          real _t0B64#1 = Dot<tensor[2]>(r00788,v2006D2);
          real _t0B66#1 = Dot<tensor[2]>(r107B6,v2006D2);
          tensor[2] _t0B68#1 = <tensor[2]>[_t0B64,_t0B66];
          tensor[2] pos0B74#3 = Add<tensor[2]>(_t0B68,_t07C6);
          bool _t0B77#1 = Inside<2>(pos0B74,F0638);
          if _t0B77 then goto ASSIGN0B7C else goto ASSIGN0B7E
        ASSIGN0B7C:  preds = [COND0B7F]
          bool _t0B7A#1 = Inside<2>(v2006D2,T0630);
          goto JOIN0B79
        JOIN0B79:  preds = [ASSIGN0B7C,ASSIGN0B7E]
          bool _t0B7B#1 = phi(_t0B7A,_t0B7D)
          if _t0B7B then goto ASSIGN0B82 else goto JOIN0B80
        ASSIGN0B82:  preds = [COND0B92]
          real _t0B81#1 = Probe<tensor[2],real>(F0638,pos0B74);
          real _t0B83#1 = Probe<tensor[2],real>(T0630,v2006D2);
          real _t0B85#2 = Sub<real>(_t0B81,_t0B83);
          real _t0B8D#1 = Mul<real>(_t0B85,_t0B85);
          real score0B8F#1 = Add<real>(score0B61,_t0B8D);
          goto JOIN0B80
        JOIN0B80:  preds = [ASSIGN0B91,COND0B92]
          real score0B90#2 = phi(score0B8F,score0B61)
          real _t0B93#1 = Dot<tensor[2]>(r00788,v2106DA);
          real _t0B95#1 = Dot<tensor[2]>(r107B6,v2106DA);
          tensor[2] _t0B97#1 = <tensor[2]>[_t0B93,_t0B95];
          tensor[2] pos0BA3#3 = Add<tensor[2]>(_t0B97,_t07C6);
          bool _t0BA6#1 = Inside<2>(pos0BA3,F0638);
          if _t0BA6 then goto ASSIGN0BAB else goto ASSIGN0BAD
        ASSIGN0BAB:  preds = [COND0BAE]
          bool _t0BA9#1 = Inside<2>(v2106DA,T0630);
          goto JOIN0BA8
        JOIN0BA8:  preds = [ASSIGN0BAB,ASSIGN0BAD]
          bool _t0BAA#1 = phi(_t0BA9,_t0BAC)
          if _t0BAA then goto ASSIGN0BB1 else goto JOIN0BAF
        ASSIGN0BB1:  preds = [COND0BC1]
          real _t0BB0#1 = Probe<tensor[2],real>(F0638,pos0BA3);
          real _t0BB2#1 = Probe<tensor[2],real>(T0630,v2106DA);
          real _t0BB4#2 = Sub<real>(_t0BB0,_t0BB2);
          real _t0BBC#1 = Mul<real>(_t0BB4,_t0BB4);
          real score0BBE#1 = Add<real>(score0B90,_t0BBC);
          goto JOIN0BAF
        JOIN0BAF:  preds = [ASSIGN0BC0,COND0BC1]
          real score0BBF#2 = phi(score0BBE,score0B90)
          real _t0BC2#1 = Dot<tensor[2]>(r00788,v2206E2);
          real _t0BC4#1 = Dot<tensor[2]>(r107B6,v2206E2);
          tensor[2] _t0BC6#1 = <tensor[2]>[_t0BC2,_t0BC4];
          tensor[2] pos0BD2#3 = Add<tensor[2]>(_t0BC6,_t07C6);
          bool _t0BD5#1 = Inside<2>(pos0BD2,F0638);
          if _t0BD5 then goto ASSIGN0BDA else goto ASSIGN0BDC
        ASSIGN0BDA:  preds = [COND0BDD]
          bool _t0BD8#1 = Inside<2>(v2206E2,T0630);
          goto JOIN0BD7
        JOIN0BD7:  preds = [ASSIGN0BDA,ASSIGN0BDC]
          bool _t0BD9#1 = phi(_t0BD8,_t0BDB)
          if _t0BD9 then goto ASSIGN0BE0 else goto JOIN0BDE
        ASSIGN0BE0:  preds = [COND0BF0]
          real _t0BDF#1 = Probe<tensor[2],real>(F0638,pos0BD2);
          real _t0BE1#1 = Probe<tensor[2],real>(T0630,v2206E2);
          real _t0BE3#2 = Sub<real>(_t0BDF,_t0BE1);
          real _t0BEB#1 = Mul<real>(_t0BE3,_t0BE3);
          real score0BED#1 = Add<real>(score0BBF,_t0BEB);
          goto JOIN0BDE
        JOIN0BDE:  preds = [ASSIGN0BEF,COND0BF0]
          real score0BEE#2 = phi(score0BED,score0BBF)
          real _t0BF1#1 = Dot<tensor[2]>(r00788,v2306EC);
          real _t0BF3#1 = Dot<tensor[2]>(r107B6,v2306EC);
          tensor[2] _t0BF5#1 = <tensor[2]>[_t0BF1,_t0BF3];
          tensor[2] pos0C01#3 = Add<tensor[2]>(_t0BF5,_t07C6);
          bool _t0C04#1 = Inside<2>(pos0C01,F0638);
          if _t0C04 then goto ASSIGN0C09 else goto ASSIGN0C0B
        ASSIGN0C09:  preds = [COND0C0C]
          bool _t0C07#1 = Inside<2>(v2306EC,T0630);
          goto JOIN0C06
        JOIN0C06:  preds = [ASSIGN0C09,ASSIGN0C0B]
          bool _t0C08#1 = phi(_t0C07,_t0C0A)
          if _t0C08 then goto ASSIGN0C0F else goto JOIN0C0D
        ASSIGN0C0F:  preds = [COND0C1F]
          real _t0C0E#1 = Probe<tensor[2],real>(F0638,pos0C01);
          real _t0C10#1 = Probe<tensor[2],real>(T0630,v2306EC);
          real _t0C12#2 = Sub<real>(_t0C0E,_t0C10);
          real _t0C1A#1 = Mul<real>(_t0C12,_t0C12);
          real score0C1C#1 = Add<real>(score0BEE,_t0C1A);
          goto JOIN0C0D
        JOIN0C0D:  preds = [ASSIGN0C1E,COND0C1F]
          real score0C1D#2 = phi(score0C1C,score0BEE)
          real _t0C20#1 = Dot<tensor[2]>(r00788,v2406F6);
          real _t0C22#1 = Dot<tensor[2]>(r107B6,v2406F6);
          tensor[2] _t0C24#1 = <tensor[2]>[_t0C20,_t0C22];
          tensor[2] pos0C30#4 = Add<tensor[2]>(_t0C24,_t07C6);
          bool _t0C33#1 = Inside<2>(pos0C30,F0638);
          if _t0C33 then goto ASSIGN0C38 else goto ASSIGN0C3A
        ASSIGN0C38:  preds = [COND0C3B]
          bool _t0C36#1 = Inside<2>(v2406F6,T0630);
          goto JOIN0C35
        JOIN0C35:  preds = [ASSIGN0C38,ASSIGN0C3A]
          bool _t0C37#1 = phi(_t0C36,_t0C39)
          if _t0C37 then goto ASSIGN0C3E else goto JOIN0C3C
        ASSIGN0C3E:  preds = [COND0C4E]
          real _t0C3D#1 = Probe<tensor[2],real>(F0638,pos0C30);
          real _t0C3F#1 = Probe<tensor[2],real>(T0630,v2406F6);
          real _t0C41#2 = Sub<real>(_t0C3D,_t0C3F);
          real _t0C49#1 = Mul<real>(_t0C41,_t0C41);
          real score0C4B#1 = Add<real>(score0C1D,_t0C49);
          goto JOIN0C3C
        JOIN0C3C:  preds = [ASSIGN0C4D,COND0C4E]
          real score0C4C#1 = phi(score0C4B,score0C1D)
          self.t = t0750;
          self.score = score0C4C;
          self.r0 = r00788;
          self.r1 = r107B6;
          self.pos = pos0C30;
          stabilize ()
        ASSIGN0C3A:  preds = [COND0C3B]
          bool _t0C39#1 = false;
          goto JOIN0C35
        ASSIGN0C0B:  preds = [COND0C0C]
          bool _t0C0A#1 = false;
          goto JOIN0C06
        ASSIGN0BDC:  preds = [COND0BDD]
          bool _t0BDB#1 = false;
          goto JOIN0BD7
        ASSIGN0BAD:  preds = [COND0BAE]
          bool _t0BAC#1 = false;
          goto JOIN0BA8
        ASSIGN0B7E:  preds = [COND0B7F]
          bool _t0B7D#1 = false;
          goto JOIN0B79
        ASSIGN0B4F:  preds = [COND0B50]
          bool _t0B4E#1 = false;
          goto JOIN0B4A
        ASSIGN0B20:  preds = [COND0B21]
          bool _t0B1F#1 = false;
          goto JOIN0B1B
        ASSIGN0AF1:  preds = [COND0AF2]
          bool _t0AF0#1 = false;
          goto JOIN0AEC
        ASSIGN0AC2:  preds = [COND0AC3]
          bool _t0AC1#1 = false;
          goto JOIN0ABD
        ASSIGN0A93:  preds = [COND0A94]
          bool _t0A92#1 = false;
          goto JOIN0A8E
        ASSIGN0A64:  preds = [COND0A65]
          bool _t0A63#1 = false;
          goto JOIN0A5F
        ASSIGN0A35:  preds = [COND0A36]
          bool _t0A34#1 = false;
          goto JOIN0A30
        ASSIGN0A06:  preds = [COND0A07]
          bool _t0A05#1 = false;
          goto JOIN0A01
        ASSIGN09D7:  preds = [COND09D8]
          bool _t09D6#1 = false;
          goto JOIN09D2
        ASSIGN09A8:  preds = [COND09A9]
          bool _t09A7#1 = false;
          goto JOIN09A3
        ASSIGN0979:  preds = [COND097A]
          bool _t0978#1 = false;
          goto JOIN0974
        ASSIGN094A:  preds = [COND094B]
          bool _t0949#1 = false;
          goto JOIN0945
        ASSIGN091B:  preds = [COND091C]
          bool _t091A#1 = false;
          goto JOIN0916
        ASSIGN08EC:  preds = [COND08ED]
          bool _t08EB#1 = false;
          goto JOIN08E7
        ASSIGN08BD:  preds = [COND08BE]
          bool _t08BC#1 = false;
          goto JOIN08B8
        ASSIGN088E:  preds = [COND088F]
          bool _t088D#1 = false;
          goto JOIN0889
        ASSIGN085F:  preds = [COND0860]
          bool _t085E#1 = false;
          goto JOIN085A
        ASSIGN0830:  preds = [COND0831]
          bool _t082F#1 = false;
          goto JOIN082B
        ASSIGN0801:  preds = [COND0802]
          bool _t0800#1 = false;
          goto JOIN07FC
        ASSIGN07D2:  preds = [COND07D3]
          bool _t07D1#1 = false;
          goto JOIN07CD
    end Update
    method Stabilize
        ENTRY0C61:  preds = []
          tensor[3] t0C57#1 = self.t;
          real score0C58#1 = self.score;
          tensor[2] r00C59#1 = self.r0;
          tensor[2] r10C5A#1 = self.r1;
          tensor[2] pos0C5B#1 = self.pos;
          self.t = t0C57;
          self.score = score0C58;
          self.r0 = r00C59;
          self.r1 = r10C5A;
          self.pos = pos0C5B;
          return ()
    end Stabilize
  end R
#### end program ####
##### MidIL after translation to MidIL ####
## properties
  none
## globals
  global int T0D0F#0
  global int F0D10#0
  global real2 v000CD5#4
  global real2 v010CD9#4
  global real2 v020CDD#4
  global real2 v030CE1#4
  global real2 v040CE5#4
  global real2 v050CE7#4
  global real2 v060CE9#4
  global real2 v070CEB#4
  global real2 v080CED#4
  global real2 v090CEF#4
  global real2 v100CF1#4
  global real2 v110CF3#4
  global real2 v120CF5#4
  global real2 v130CF7#4
  global real2 v140CF9#4
  global real2 v150CFB#4
  global real2 v160CFD#4
  global real2 v170CFF#4
  global real2 v180D01#4
  global real2 v190D03#4
  global real2 v200D05#4
  global real2 v210D07#4
  global real2 v220D09#4
  global real2 v230D0B#4
  global real2 v240D0D#4
  global string _t0CCB#1
  global image(IMAGE2D<int>) _t0CCD#175
  global int _t0CC9#0
  global string _t0CCF#1
  global image(IMAGE2D<float>) _t0CD1#175
  global real _t0CD3#10
  global real _t0CD7#11
  global real _t0CDF#10
  global real _t0CDB#11
  global real _t0CE3#10
## global initialization
  ENTRY0CC8:  preds = []
    int _t0CC9#0 = 0;
    string _t0CCB#1 = "square-template.nrrd";
    image(IMAGE2D<int>) _t0CCD#175 = LoadImage<IMAGE2D<int>>(_t0CCB);
    string _t0CCF#1 = "square-rotate.nrrd";
    image(IMAGE2D<float>) _t0CD1#175 = LoadImage<IMAGE2D<float>>(_t0CCF);
    real _t0CD3#10 = 0.0;
    real2 v000CD5#4 = <real2>[_t0CD3,_t0CD3];
    real _t0CD7#11 = 0.25e0;
    real2 v010CD9#4 = <real2>[_t0CD3,_t0CD7];
    real _t0CDB#11 = 0.5e0;
    real2 v020CDD#4 = <real2>[_t0CD3,_t0CDB];
    real _t0CDF#10 = Neg<real>(_t0CD7);
    real2 v030CE1#4 = <real2>[_t0CD3,_t0CDF];
    real _t0CE3#10 = Neg<real>(_t0CDB);
    real2 v040CE5#4 = <real2>[_t0CD3,_t0CE3];
    real2 v050CE7#4 = <real2>[_t0CD7,_t0CD3];
    real2 v060CE9#4 = <real2>[_t0CD7,_t0CD7];
    real2 v070CEB#4 = <real2>[_t0CD7,_t0CDB];
    real2 v080CED#4 = <real2>[_t0CD7,_t0CDF];
    real2 v090CEF#4 = <real2>[_t0CD7,_t0CE3];
    real2 v100CF1#4 = <real2>[_t0CDB,_t0CD3];
    real2 v110CF3#4 = <real2>[_t0CDB,_t0CD7];
    real2 v120CF5#4 = <real2>[_t0CDB,_t0CDB];
    real2 v130CF7#4 = <real2>[_t0CDB,_t0CDF];
    real2 v140CF9#4 = <real2>[_t0CDB,_t0CE3];
    real2 v150CFB#4 = <real2>[_t0CDF,_t0CD3];
    real2 v160CFD#4 = <real2>[_t0CDF,_t0CD7];
    real2 v170CFF#4 = <real2>[_t0CDF,_t0CDB];
    real2 v180D01#4 = <real2>[_t0CDF,_t0CDF];
    real2 v190D03#4 = <real2>[_t0CDF,_t0CE3];
    real2 v200D05#4 = <real2>[_t0CE3,_t0CD3];
    real2 v210D07#4 = <real2>[_t0CE3,_t0CD7];
    real2 v220D09#4 = <real2>[_t0CE3,_t0CDB];
    real2 v230D0B#4 = <real2>[_t0CE3,_t0CDF];
    real2 v240D0D#4 = <real2>[_t0CE3,_t0CE3];
    return (T0D0F,F0D10,v000CD5,v010CD9,v020CDD,v030CE1,v040CE5,v050CE7,v060CE9,v070CEB,v080CED,v090CEF,v100CF1,v110CF3,v120CF5,v130CF7,v140CF9,v150CFB,v160CFD,v170CFF,v180D01,v190D03,v200D05,v210D07,v220D09,v230D0B,v240D0D,_t0CCB,_t0CCD,_t0CC9,_t0CCF,_t0CD1,_t0CD3,_t0CD7,_t0CDF,_t0CDB,_t0CE3)
## initially
  ARRAY
    ENTRY0D17:  preds = []
      int _t0D13#4 = 0;
      int _t0D14#4 = 60;
      live vars = (_t0D14,_t0D13)
    for int i0D12#1 = _t0D13 .. _t0D14
      for int j0D15#1 = _t0D13 .. _t0D14
        for int k0D16#1 = _t0D13 .. _t0D14
          ENTRY0D1B:  preds = []
            live vars = ()
          new R(i0D12,j0D15,k0D16);
## strands
  strand R (int i0D1D#1, int j0D1E#1, int k0D1F#1)
    state: real3 self.t;output real self.score;real2 self.r0;real2 self.r1;real2 self.pos;
      ENTRY0D25:  preds = []
        real _t0D26#1 = IntToReal(i0D1D);
        real _t0D28#3 = 0.60e2;
        real _t0D2A#1 = Div<real>(_t0D26,_t0D28);
        real _t0D2C#3 = 0.5e0;
        real _t0D2E#1 = Sub<real>(_t0D2A,_t0D2C);
        real _t0D30#1 = IntToReal(j0D1E);
        real _t0D32#1 = Div<real>(_t0D30,_t0D28);
        real _t0D34#1 = Sub<real>(_t0D32,_t0D2C);
        real _t0D36#1 = IntToReal(k0D1F);
        real _t0D38#1 = Div<real>(_t0D36,_t0D28);
        real _t0D3A#1 = Sub<real>(_t0D38,_t0D2C);
        real3 t0D3C#1 = <real3>[_t0D2E,_t0D34,_t0D3A];
        real score0D3E#3 = 0.0;
        real2 r00D40#3 = <real2>[score0D3E,score0D3E];
        self.t = t0D3C;
        self.score = score0D3E;
        self.r0 = r00D40;
        self.r1 = r00D40;
        self.pos = r00D40;
        strand_init ()
    method Update
        ENTRY0D48:  preds = []
          real3 t0D49#4 = self.t;
          real score0D4B#2 = self.score;
          real _t0D4D#2 = 0.1e1;
          real _t0D4F#3 = 0.2e1;
          int _t0D51#1 = 2;
          real _t0D53#6 = Subscript<real3>(t0D49,_t0D51);
          real _t0D55#1 = Mul<real>(_t0D4F,_t0D53);
          real _t0D57#1 = Mul<real>(_t0D55,_t0D53);
          real _t0D59#2 = Sub<real>(_t0D4D,_t0D57);
          real _t0D5B#1 = Neg<real>(_t0D4F);
          real _t0D5D#1 = Mul<real>(_t0D53,_t0D53);
          real _t0D5F#1 = Sub<real>(_t0D4D,_t0D5D);
          real _t0D61#2 = sqrt(_t0D5F);
          real _t0D63#1 = Mul<real>(_t0D5B,_t0D61);
          real _t0D65#1 = Mul<real>(_t0D63,_t0D53);
          real2 r00D67#26 = <real2>[_t0D59,_t0D65];
          real _t0D69#1 = Mul<real>(_t0D4F,_t0D61);
          real _t0D6B#1 = Mul<real>(_t0D69,_t0D53);
          real2 r10D6D#26 = <real2>[_t0D6B,_t0D59];
          real _t0D6F#1 = Dot<2>(r00D67,v000CD5);
          real _t0D71#1 = Dot<2>(r10D6D,v000CD5);
          real2 _t0D73#1 = <real2>[_t0D6F,_t0D71];
          int _t0D75#1 = 0;
          real _t0D77#1 = Subscript<real3>(t0D49,_t0D75);
          int _t0D79#1 = 1;
          real _t0D7B#1 = Subscript<real3>(t0D49,_t0D79);
          real2 _t0D7D#25 = <real2>[_t0D77,_t0D7B];
          real2 pos0D7F#2 = Add<real2>(_t0D73,_t0D7D);
          real2 x0D82#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos0D7F);
          bool _t0D81#1 = Inside<IMAGE2D<float>,2>(x0D82,_t0CD1);
          if _t0D81 then goto ASSIGN0D88 else goto ASSIGN28D6
        ASSIGN0D88:  preds = [COND0D85]
          real2 x0D87#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v000CD5);
          bool _t0D86#1 = Inside<IMAGE2D<int>,2>(x0D87,_t0CCD);
          goto JOIN0D8C
        JOIN0D8C:  preds = [ASSIGN0D89,ASSIGN28D6]
          bool _t0D8A#1 = phi(_t0D86,_t0D8B)
          if _t0D8A then goto ASSIGN0DCD else goto JOIN0E8F
        ASSIGN0DCD:  preds = [COND0D8D]
          real2 x0D8F#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos0D7F);
          real2 nd0D91#2 = Floor<2>(x0D8F);
          real2 f0D90#2 = Sub<real2>(x0D8F,nd0D91);
          int{2} n0D92#8 = RealToInt<2>(nd0D91);
          int t10DAE#1 = -1;
          int t20DAF#1 = Index<int{2},0>(n0D92);
          int ix0DAD#1 = Add<int>(t10DAE,t20DAF);
          int t10DB1#1 = -1;
          int t20DB2#1 = Index<int{2},1>(n0D92);
          int iy0DB0#1 = Add<int>(t10DB1,t20DB2);
          addr(IMAGE2D<float>) a0DB3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0DAD,iy0DB0);
          real4 v00D94#1 = LoadVoxels<IMAGE2D<float>,4>(a0DB3);
          int t10DA7#1 = -1;
          int t20DA8#1 = Index<int{2},0>(n0D92);
          int ix0DA6#1 = Add<int>(t10DA7,t20DA8);
          int t10DAA#1 = 0;
          int t20DAB#1 = Index<int{2},1>(n0D92);
          int iy0DA9#1 = Add<int>(t10DAA,t20DAB);
          addr(IMAGE2D<float>) a0DAC#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0DA6,iy0DA9);
          real4 v10D95#1 = LoadVoxels<IMAGE2D<float>,4>(a0DAC);
          int t10DA0#1 = -1;
          int t20DA1#1 = Index<int{2},0>(n0D92);
          int ix0D9F#1 = Add<int>(t10DA0,t20DA1);
          int t10DA3#1 = 1;
          int t20DA4#1 = Index<int{2},1>(n0D92);
          int iy0DA2#1 = Add<int>(t10DA3,t20DA4);
          addr(IMAGE2D<float>) a0DA5#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0D9F,iy0DA2);
          real4 v20D96#1 = LoadVoxels<IMAGE2D<float>,4>(a0DA5);
          int t10D99#1 = -1;
          int t20D9A#1 = Index<int{2},0>(n0D92);
          int ix0D98#1 = Add<int>(t10D99,t20D9A);
          int t10D9C#1 = 2;
          int t20D9D#1 = Index<int{2},1>(n0D92);
          int iy0D9B#1 = Add<int>(t10D9C,t20D9D);
          addr(IMAGE2D<float>) a0D9E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0D98,iy0D9B);
          real4 v30D97#1 = LoadVoxels<IMAGE2D<float>,4>(a0D9E);
          real fy0DBF#4 = Index<real2,1>(f0D90);
          real r0DC7#1 = 0.1e1;
          real t30DC4#1 = Add<real>(fy0DBF,r0DC7);
          real t20DC3#1 = fy0DBF;
          real r0DC6#1 = 0.1e1;
          real t10DC2#1 = Sub<real>(fy0DBF,r0DC6);
          real r0DC5#1 = 0.2e1;
          real t00DC1#1 = Sub<real>(fy0DBF,r0DC5);
          real4 a0DC0#1 = <real4>[t30DC4,t20DC3,t10DC2,t00DC1];
          real4 hy0DB5#1 = EvalKernel<4,bspln3,0>(a0DC0);
          real fx0DB6#4 = Index<real2,0>(f0D90);
          real r0DBE#1 = 0.1e1;
          real t30DBB#1 = Add<real>(fx0DB6,r0DBE);
          real t20DBA#1 = fx0DB6;
          real r0DBD#1 = 0.1e1;
          real t10DB9#1 = Sub<real>(fx0DB6,r0DBD);
          real r0DBC#1 = 0.2e1;
          real t00DB8#1 = Sub<real>(fx0DB6,r0DBC);
          real4 a0DB7#1 = <real4>[t30DBB,t20DBA,t10DB9,t00DB8];
          real4 hx0DB4#4 = EvalKernel<4,bspln3,0>(a0DB7);
          real t00DC9#1 = Dot<4>(v00D94,hx0DB4);
          real t10DCA#1 = Dot<4>(v10D95,hx0DB4);
          real t20DCB#1 = Dot<4>(v20D96,hx0DB4);
          real t30DCC#1 = Dot<4>(v30D97,hx0DB4);
          real4 tv0DC8#1 = <real4>[t00DC9,t10DCA,t20DCB,t30DCC];
          real _t0D8E#1 = Dot<4>(hy0DB5,tv0DC8);
          real2 x0E0C#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v000CD5);
          real2 nd0E0E#2 = Floor<2>(x0E0C);
          real2 f0E0D#2 = Sub<real2>(x0E0C,nd0E0E);
          int{2} n0E0F#8 = RealToInt<2>(nd0E0E);
          int t10E2B#1 = -1;
          int t20E2C#1 = Index<int{2},0>(n0E0F);
          int ix0E2A#1 = Add<int>(t10E2B,t20E2C);
          int t10E2E#1 = -1;
          int t20E2F#1 = Index<int{2},1>(n0E0F);
          int iy0E2D#1 = Add<int>(t10E2E,t20E2F);
          addr(IMAGE2D<int>) a0E30#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0E2A,iy0E2D);
          real4 v00E11#1 = LoadVoxels<IMAGE2D<int>,4>(a0E30);
          int t10E24#1 = -1;
          int t20E25#1 = Index<int{2},0>(n0E0F);
          int ix0E23#1 = Add<int>(t10E24,t20E25);
          int t10E27#1 = 0;
          int t20E28#1 = Index<int{2},1>(n0E0F);
          int iy0E26#1 = Add<int>(t10E27,t20E28);
          addr(IMAGE2D<int>) a0E29#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0E23,iy0E26);
          real4 v10E12#1 = LoadVoxels<IMAGE2D<int>,4>(a0E29);
          int t10E1D#1 = -1;
          int t20E1E#1 = Index<int{2},0>(n0E0F);
          int ix0E1C#1 = Add<int>(t10E1D,t20E1E);
          int t10E20#1 = 1;
          int t20E21#1 = Index<int{2},1>(n0E0F);
          int iy0E1F#1 = Add<int>(t10E20,t20E21);
          addr(IMAGE2D<int>) a0E22#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0E1C,iy0E1F);
          real4 v20E13#1 = LoadVoxels<IMAGE2D<int>,4>(a0E22);
          int t10E16#1 = -1;
          int t20E17#1 = Index<int{2},0>(n0E0F);
          int ix0E15#1 = Add<int>(t10E16,t20E17);
          int t10E19#1 = 2;
          int t20E1A#1 = Index<int{2},1>(n0E0F);
          int iy0E18#1 = Add<int>(t10E19,t20E1A);
          addr(IMAGE2D<int>) a0E1B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0E15,iy0E18);
          real4 v30E14#1 = LoadVoxels<IMAGE2D<int>,4>(a0E1B);
          real fy0E3C#4 = Index<real2,1>(f0E0D);
          real r0E44#1 = 0.1e1;
          real t30E41#1 = Add<real>(fy0E3C,r0E44);
          real t20E40#1 = fy0E3C;
          real r0E43#1 = 0.1e1;
          real t10E3F#1 = Sub<real>(fy0E3C,r0E43);
          real r0E42#1 = 0.2e1;
          real t00E3E#1 = Sub<real>(fy0E3C,r0E42);
          real4 a0E3D#1 = <real4>[t30E41,t20E40,t10E3F,t00E3E];
          real4 hy0E32#1 = EvalKernel<4,bspln3,0>(a0E3D);
          real fx0E33#4 = Index<real2,0>(f0E0D);
          real r0E3B#1 = 0.1e1;
          real t30E38#1 = Add<real>(fx0E33,r0E3B);
          real t20E37#1 = fx0E33;
          real r0E3A#1 = 0.1e1;
          real t10E36#1 = Sub<real>(fx0E33,r0E3A);
          real r0E39#1 = 0.2e1;
          real t00E35#1 = Sub<real>(fx0E33,r0E39);
          real4 a0E34#1 = <real4>[t30E38,t20E37,t10E36,t00E35];
          real4 hx0E31#4 = EvalKernel<4,bspln3,0>(a0E34);
          real t00E46#1 = Dot<4>(v00E11,hx0E31);
          real t10E47#1 = Dot<4>(v10E12,hx0E31);
          real t20E48#1 = Dot<4>(v20E13,hx0E31);
          real t30E49#1 = Dot<4>(v30E14,hx0E31);
          real4 tv0E45#1 = <real4>[t00E46,t10E47,t20E48,t30E49];
          real _t0E0B#1 = Dot<4>(hy0E32,tv0E45);
          real _t0E88#2 = Sub<real>(_t0D8E,_t0E0B);
          real _t0E8A#1 = Mul<real>(_t0E88,_t0E88);
          real score0E8C#1 = Add<real>(score0D4B,_t0E8A);
          goto JOIN0E8F
        JOIN0E8F:  preds = [ASSIGN0E8D,COND0D8D]
          real score0E8E#2 = phi(score0E8C,score0D4B)
          real _t0E90#1 = Dot<2>(r00D67,v010CD9);
          real _t0E92#1 = Dot<2>(r10D6D,v010CD9);
          real2 _t0E94#1 = <real2>[_t0E90,_t0E92];
          real2 pos0E96#2 = Add<real2>(_t0E94,_t0D7D);
          real2 x0E99#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos0E96);
          bool _t0E98#1 = Inside<IMAGE2D<float>,2>(x0E99,_t0CD1);
          if _t0E98 then goto ASSIGN0E9F else goto ASSIGN28D5
        ASSIGN0E9F:  preds = [COND0E9C]
          real2 x0E9E#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v010CD9);
          bool _t0E9D#1 = Inside<IMAGE2D<int>,2>(x0E9E,_t0CCD);
          goto JOIN0EA3
        JOIN0EA3:  preds = [ASSIGN0EA0,ASSIGN28D5]
          bool _t0EA1#1 = phi(_t0E9D,_t0EA2)
          if _t0EA1 then goto ASSIGN0EE4 else goto JOIN0FA6
        ASSIGN0EE4:  preds = [COND0EA4]
          real2 x0EA6#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos0E96);
          real2 nd0EA8#2 = Floor<2>(x0EA6);
          real2 f0EA7#2 = Sub<real2>(x0EA6,nd0EA8);
          int{2} n0EA9#8 = RealToInt<2>(nd0EA8);
          int t10EC5#1 = -1;
          int t20EC6#1 = Index<int{2},0>(n0EA9);
          int ix0EC4#1 = Add<int>(t10EC5,t20EC6);
          int t10EC8#1 = -1;
          int t20EC9#1 = Index<int{2},1>(n0EA9);
          int iy0EC7#1 = Add<int>(t10EC8,t20EC9);
          addr(IMAGE2D<float>) a0ECA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0EC4,iy0EC7);
          real4 v00EAB#1 = LoadVoxels<IMAGE2D<float>,4>(a0ECA);
          int t10EBE#1 = -1;
          int t20EBF#1 = Index<int{2},0>(n0EA9);
          int ix0EBD#1 = Add<int>(t10EBE,t20EBF);
          int t10EC1#1 = 0;
          int t20EC2#1 = Index<int{2},1>(n0EA9);
          int iy0EC0#1 = Add<int>(t10EC1,t20EC2);
          addr(IMAGE2D<float>) a0EC3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0EBD,iy0EC0);
          real4 v10EAC#1 = LoadVoxels<IMAGE2D<float>,4>(a0EC3);
          int t10EB7#1 = -1;
          int t20EB8#1 = Index<int{2},0>(n0EA9);
          int ix0EB6#1 = Add<int>(t10EB7,t20EB8);
          int t10EBA#1 = 1;
          int t20EBB#1 = Index<int{2},1>(n0EA9);
          int iy0EB9#1 = Add<int>(t10EBA,t20EBB);
          addr(IMAGE2D<float>) a0EBC#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0EB6,iy0EB9);
          real4 v20EAD#1 = LoadVoxels<IMAGE2D<float>,4>(a0EBC);
          int t10EB0#1 = -1;
          int t20EB1#1 = Index<int{2},0>(n0EA9);
          int ix0EAF#1 = Add<int>(t10EB0,t20EB1);
          int t10EB3#1 = 2;
          int t20EB4#1 = Index<int{2},1>(n0EA9);
          int iy0EB2#1 = Add<int>(t10EB3,t20EB4);
          addr(IMAGE2D<float>) a0EB5#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0EAF,iy0EB2);
          real4 v30EAE#1 = LoadVoxels<IMAGE2D<float>,4>(a0EB5);
          real fy0ED6#4 = Index<real2,1>(f0EA7);
          real r0EDE#1 = 0.1e1;
          real t30EDB#1 = Add<real>(fy0ED6,r0EDE);
          real t20EDA#1 = fy0ED6;
          real r0EDD#1 = 0.1e1;
          real t10ED9#1 = Sub<real>(fy0ED6,r0EDD);
          real r0EDC#1 = 0.2e1;
          real t00ED8#1 = Sub<real>(fy0ED6,r0EDC);
          real4 a0ED7#1 = <real4>[t30EDB,t20EDA,t10ED9,t00ED8];
          real4 hy0ECC#1 = EvalKernel<4,bspln3,0>(a0ED7);
          real fx0ECD#4 = Index<real2,0>(f0EA7);
          real r0ED5#1 = 0.1e1;
          real t30ED2#1 = Add<real>(fx0ECD,r0ED5);
          real t20ED1#1 = fx0ECD;
          real r0ED4#1 = 0.1e1;
          real t10ED0#1 = Sub<real>(fx0ECD,r0ED4);
          real r0ED3#1 = 0.2e1;
          real t00ECF#1 = Sub<real>(fx0ECD,r0ED3);
          real4 a0ECE#1 = <real4>[t30ED2,t20ED1,t10ED0,t00ECF];
          real4 hx0ECB#4 = EvalKernel<4,bspln3,0>(a0ECE);
          real t00EE0#1 = Dot<4>(v00EAB,hx0ECB);
          real t10EE1#1 = Dot<4>(v10EAC,hx0ECB);
          real t20EE2#1 = Dot<4>(v20EAD,hx0ECB);
          real t30EE3#1 = Dot<4>(v30EAE,hx0ECB);
          real4 tv0EDF#1 = <real4>[t00EE0,t10EE1,t20EE2,t30EE3];
          real _t0EA5#1 = Dot<4>(hy0ECC,tv0EDF);
          real2 x0F23#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v010CD9);
          real2 nd0F25#2 = Floor<2>(x0F23);
          real2 f0F24#2 = Sub<real2>(x0F23,nd0F25);
          int{2} n0F26#8 = RealToInt<2>(nd0F25);
          int t10F42#1 = -1;
          int t20F43#1 = Index<int{2},0>(n0F26);
          int ix0F41#1 = Add<int>(t10F42,t20F43);
          int t10F45#1 = -1;
          int t20F46#1 = Index<int{2},1>(n0F26);
          int iy0F44#1 = Add<int>(t10F45,t20F46);
          addr(IMAGE2D<int>) a0F47#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0F41,iy0F44);
          real4 v00F28#1 = LoadVoxels<IMAGE2D<int>,4>(a0F47);
          int t10F3B#1 = -1;
          int t20F3C#1 = Index<int{2},0>(n0F26);
          int ix0F3A#1 = Add<int>(t10F3B,t20F3C);
          int t10F3E#1 = 0;
          int t20F3F#1 = Index<int{2},1>(n0F26);
          int iy0F3D#1 = Add<int>(t10F3E,t20F3F);
          addr(IMAGE2D<int>) a0F40#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0F3A,iy0F3D);
          real4 v10F29#1 = LoadVoxels<IMAGE2D<int>,4>(a0F40);
          int t10F34#1 = -1;
          int t20F35#1 = Index<int{2},0>(n0F26);
          int ix0F33#1 = Add<int>(t10F34,t20F35);
          int t10F37#1 = 1;
          int t20F38#1 = Index<int{2},1>(n0F26);
          int iy0F36#1 = Add<int>(t10F37,t20F38);
          addr(IMAGE2D<int>) a0F39#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0F33,iy0F36);
          real4 v20F2A#1 = LoadVoxels<IMAGE2D<int>,4>(a0F39);
          int t10F2D#1 = -1;
          int t20F2E#1 = Index<int{2},0>(n0F26);
          int ix0F2C#1 = Add<int>(t10F2D,t20F2E);
          int t10F30#1 = 2;
          int t20F31#1 = Index<int{2},1>(n0F26);
          int iy0F2F#1 = Add<int>(t10F30,t20F31);
          addr(IMAGE2D<int>) a0F32#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0F2C,iy0F2F);
          real4 v30F2B#1 = LoadVoxels<IMAGE2D<int>,4>(a0F32);
          real fy0F53#4 = Index<real2,1>(f0F24);
          real r0F5B#1 = 0.1e1;
          real t30F58#1 = Add<real>(fy0F53,r0F5B);
          real t20F57#1 = fy0F53;
          real r0F5A#1 = 0.1e1;
          real t10F56#1 = Sub<real>(fy0F53,r0F5A);
          real r0F59#1 = 0.2e1;
          real t00F55#1 = Sub<real>(fy0F53,r0F59);
          real4 a0F54#1 = <real4>[t30F58,t20F57,t10F56,t00F55];
          real4 hy0F49#1 = EvalKernel<4,bspln3,0>(a0F54);
          real fx0F4A#4 = Index<real2,0>(f0F24);
          real r0F52#1 = 0.1e1;
          real t30F4F#1 = Add<real>(fx0F4A,r0F52);
          real t20F4E#1 = fx0F4A;
          real r0F51#1 = 0.1e1;
          real t10F4D#1 = Sub<real>(fx0F4A,r0F51);
          real r0F50#1 = 0.2e1;
          real t00F4C#1 = Sub<real>(fx0F4A,r0F50);
          real4 a0F4B#1 = <real4>[t30F4F,t20F4E,t10F4D,t00F4C];
          real4 hx0F48#4 = EvalKernel<4,bspln3,0>(a0F4B);
          real t00F5D#1 = Dot<4>(v00F28,hx0F48);
          real t10F5E#1 = Dot<4>(v10F29,hx0F48);
          real t20F5F#1 = Dot<4>(v20F2A,hx0F48);
          real t30F60#1 = Dot<4>(v30F2B,hx0F48);
          real4 tv0F5C#1 = <real4>[t00F5D,t10F5E,t20F5F,t30F60];
          real _t0F22#1 = Dot<4>(hy0F49,tv0F5C);
          real _t0F9F#2 = Sub<real>(_t0EA5,_t0F22);
          real _t0FA1#1 = Mul<real>(_t0F9F,_t0F9F);
          real score0FA3#1 = Add<real>(score0E8E,_t0FA1);
          goto JOIN0FA6
        JOIN0FA6:  preds = [ASSIGN0FA4,COND0EA4]
          real score0FA5#2 = phi(score0FA3,score0E8E)
          real _t0FA7#1 = Dot<2>(r00D67,v020CDD);
          real _t0FA9#1 = Dot<2>(r10D6D,v020CDD);
          real2 _t0FAB#1 = <real2>[_t0FA7,_t0FA9];
          real2 pos0FAD#2 = Add<real2>(_t0FAB,_t0D7D);
          real2 x0FB0#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos0FAD);
          bool _t0FAF#1 = Inside<IMAGE2D<float>,2>(x0FB0,_t0CD1);
          if _t0FAF then goto ASSIGN0FB6 else goto ASSIGN28D4
        ASSIGN0FB6:  preds = [COND0FB3]
          real2 x0FB5#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v020CDD);
          bool _t0FB4#1 = Inside<IMAGE2D<int>,2>(x0FB5,_t0CCD);
          goto JOIN0FBA
        JOIN0FBA:  preds = [ASSIGN0FB7,ASSIGN28D4]
          bool _t0FB8#1 = phi(_t0FB4,_t0FB9)
          if _t0FB8 then goto ASSIGN0FFB else goto JOIN10BD
        ASSIGN0FFB:  preds = [COND0FBB]
          real2 x0FBD#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos0FAD);
          real2 nd0FBF#2 = Floor<2>(x0FBD);
          real2 f0FBE#2 = Sub<real2>(x0FBD,nd0FBF);
          int{2} n0FC0#8 = RealToInt<2>(nd0FBF);
          int t10FDC#1 = -1;
          int t20FDD#1 = Index<int{2},0>(n0FC0);
          int ix0FDB#1 = Add<int>(t10FDC,t20FDD);
          int t10FDF#1 = -1;
          int t20FE0#1 = Index<int{2},1>(n0FC0);
          int iy0FDE#1 = Add<int>(t10FDF,t20FE0);
          addr(IMAGE2D<float>) a0FE1#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0FDB,iy0FDE);
          real4 v00FC2#1 = LoadVoxels<IMAGE2D<float>,4>(a0FE1);
          int t10FD5#1 = -1;
          int t20FD6#1 = Index<int{2},0>(n0FC0);
          int ix0FD4#1 = Add<int>(t10FD5,t20FD6);
          int t10FD8#1 = 0;
          int t20FD9#1 = Index<int{2},1>(n0FC0);
          int iy0FD7#1 = Add<int>(t10FD8,t20FD9);
          addr(IMAGE2D<float>) a0FDA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0FD4,iy0FD7);
          real4 v10FC3#1 = LoadVoxels<IMAGE2D<float>,4>(a0FDA);
          int t10FCE#1 = -1;
          int t20FCF#1 = Index<int{2},0>(n0FC0);
          int ix0FCD#1 = Add<int>(t10FCE,t20FCF);
          int t10FD1#1 = 1;
          int t20FD2#1 = Index<int{2},1>(n0FC0);
          int iy0FD0#1 = Add<int>(t10FD1,t20FD2);
          addr(IMAGE2D<float>) a0FD3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0FCD,iy0FD0);
          real4 v20FC4#1 = LoadVoxels<IMAGE2D<float>,4>(a0FD3);
          int t10FC7#1 = -1;
          int t20FC8#1 = Index<int{2},0>(n0FC0);
          int ix0FC6#1 = Add<int>(t10FC7,t20FC8);
          int t10FCA#1 = 2;
          int t20FCB#1 = Index<int{2},1>(n0FC0);
          int iy0FC9#1 = Add<int>(t10FCA,t20FCB);
          addr(IMAGE2D<float>) a0FCC#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0FC6,iy0FC9);
          real4 v30FC5#1 = LoadVoxels<IMAGE2D<float>,4>(a0FCC);
          real fy0FED#4 = Index<real2,1>(f0FBE);
          real r0FF5#1 = 0.1e1;
          real t30FF2#1 = Add<real>(fy0FED,r0FF5);
          real t20FF1#1 = fy0FED;
          real r0FF4#1 = 0.1e1;
          real t10FF0#1 = Sub<real>(fy0FED,r0FF4);
          real r0FF3#1 = 0.2e1;
          real t00FEF#1 = Sub<real>(fy0FED,r0FF3);
          real4 a0FEE#1 = <real4>[t30FF2,t20FF1,t10FF0,t00FEF];
          real4 hy0FE3#1 = EvalKernel<4,bspln3,0>(a0FEE);
          real fx0FE4#4 = Index<real2,0>(f0FBE);
          real r0FEC#1 = 0.1e1;
          real t30FE9#1 = Add<real>(fx0FE4,r0FEC);
          real t20FE8#1 = fx0FE4;
          real r0FEB#1 = 0.1e1;
          real t10FE7#1 = Sub<real>(fx0FE4,r0FEB);
          real r0FEA#1 = 0.2e1;
          real t00FE6#1 = Sub<real>(fx0FE4,r0FEA);
          real4 a0FE5#1 = <real4>[t30FE9,t20FE8,t10FE7,t00FE6];
          real4 hx0FE2#4 = EvalKernel<4,bspln3,0>(a0FE5);
          real t00FF7#1 = Dot<4>(v00FC2,hx0FE2);
          real t10FF8#1 = Dot<4>(v10FC3,hx0FE2);
          real t20FF9#1 = Dot<4>(v20FC4,hx0FE2);
          real t30FFA#1 = Dot<4>(v30FC5,hx0FE2);
          real4 tv0FF6#1 = <real4>[t00FF7,t10FF8,t20FF9,t30FFA];
          real _t0FBC#1 = Dot<4>(hy0FE3,tv0FF6);
          real2 x103A#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v020CDD);
          real2 nd103C#2 = Floor<2>(x103A);
          real2 f103B#2 = Sub<real2>(x103A,nd103C);
          int{2} n103D#8 = RealToInt<2>(nd103C);
          int t11059#1 = -1;
          int t2105A#1 = Index<int{2},0>(n103D);
          int ix1058#1 = Add<int>(t11059,t2105A);
          int t1105C#1 = -1;
          int t2105D#1 = Index<int{2},1>(n103D);
          int iy105B#1 = Add<int>(t1105C,t2105D);
          addr(IMAGE2D<int>) a105E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1058,iy105B);
          real4 v0103F#1 = LoadVoxels<IMAGE2D<int>,4>(a105E);
          int t11052#1 = -1;
          int t21053#1 = Index<int{2},0>(n103D);
          int ix1051#1 = Add<int>(t11052,t21053);
          int t11055#1 = 0;
          int t21056#1 = Index<int{2},1>(n103D);
          int iy1054#1 = Add<int>(t11055,t21056);
          addr(IMAGE2D<int>) a1057#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1051,iy1054);
          real4 v11040#1 = LoadVoxels<IMAGE2D<int>,4>(a1057);
          int t1104B#1 = -1;
          int t2104C#1 = Index<int{2},0>(n103D);
          int ix104A#1 = Add<int>(t1104B,t2104C);
          int t1104E#1 = 1;
          int t2104F#1 = Index<int{2},1>(n103D);
          int iy104D#1 = Add<int>(t1104E,t2104F);
          addr(IMAGE2D<int>) a1050#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix104A,iy104D);
          real4 v21041#1 = LoadVoxels<IMAGE2D<int>,4>(a1050);
          int t11044#1 = -1;
          int t21045#1 = Index<int{2},0>(n103D);
          int ix1043#1 = Add<int>(t11044,t21045);
          int t11047#1 = 2;
          int t21048#1 = Index<int{2},1>(n103D);
          int iy1046#1 = Add<int>(t11047,t21048);
          addr(IMAGE2D<int>) a1049#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1043,iy1046);
          real4 v31042#1 = LoadVoxels<IMAGE2D<int>,4>(a1049);
          real fy106A#4 = Index<real2,1>(f103B);
          real r1072#1 = 0.1e1;
          real t3106F#1 = Add<real>(fy106A,r1072);
          real t2106E#1 = fy106A;
          real r1071#1 = 0.1e1;
          real t1106D#1 = Sub<real>(fy106A,r1071);
          real r1070#1 = 0.2e1;
          real t0106C#1 = Sub<real>(fy106A,r1070);
          real4 a106B#1 = <real4>[t3106F,t2106E,t1106D,t0106C];
          real4 hy1060#1 = EvalKernel<4,bspln3,0>(a106B);
          real fx1061#4 = Index<real2,0>(f103B);
          real r1069#1 = 0.1e1;
          real t31066#1 = Add<real>(fx1061,r1069);
          real t21065#1 = fx1061;
          real r1068#1 = 0.1e1;
          real t11064#1 = Sub<real>(fx1061,r1068);
          real r1067#1 = 0.2e1;
          real t01063#1 = Sub<real>(fx1061,r1067);
          real4 a1062#1 = <real4>[t31066,t21065,t11064,t01063];
          real4 hx105F#4 = EvalKernel<4,bspln3,0>(a1062);
          real t01074#1 = Dot<4>(v0103F,hx105F);
          real t11075#1 = Dot<4>(v11040,hx105F);
          real t21076#1 = Dot<4>(v21041,hx105F);
          real t31077#1 = Dot<4>(v31042,hx105F);
          real4 tv1073#1 = <real4>[t01074,t11075,t21076,t31077];
          real _t1039#1 = Dot<4>(hy1060,tv1073);
          real _t10B6#2 = Sub<real>(_t0FBC,_t1039);
          real _t10B8#1 = Mul<real>(_t10B6,_t10B6);
          real score10BA#1 = Add<real>(score0FA5,_t10B8);
          goto JOIN10BD
        JOIN10BD:  preds = [ASSIGN10BB,COND0FBB]
          real score10BC#2 = phi(score10BA,score0FA5)
          real _t10BE#1 = Dot<2>(r00D67,v030CE1);
          real _t10C0#1 = Dot<2>(r10D6D,v030CE1);
          real2 _t10C2#1 = <real2>[_t10BE,_t10C0];
          real2 pos10C4#2 = Add<real2>(_t10C2,_t0D7D);
          real2 x10C7#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos10C4);
          bool _t10C6#1 = Inside<IMAGE2D<float>,2>(x10C7,_t0CD1);
          if _t10C6 then goto ASSIGN10CD else goto ASSIGN28D3
        ASSIGN10CD:  preds = [COND10CA]
          real2 x10CC#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v030CE1);
          bool _t10CB#1 = Inside<IMAGE2D<int>,2>(x10CC,_t0CCD);
          goto JOIN10D1
        JOIN10D1:  preds = [ASSIGN10CE,ASSIGN28D3]
          bool _t10CF#1 = phi(_t10CB,_t10D0)
          if _t10CF then goto ASSIGN1112 else goto JOIN11D4
        ASSIGN1112:  preds = [COND10D2]
          real2 x10D4#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos10C4);
          real2 nd10D6#2 = Floor<2>(x10D4);
          real2 f10D5#2 = Sub<real2>(x10D4,nd10D6);
          int{2} n10D7#8 = RealToInt<2>(nd10D6);
          int t110F3#1 = -1;
          int t210F4#1 = Index<int{2},0>(n10D7);
          int ix10F2#1 = Add<int>(t110F3,t210F4);
          int t110F6#1 = -1;
          int t210F7#1 = Index<int{2},1>(n10D7);
          int iy10F5#1 = Add<int>(t110F6,t210F7);
          addr(IMAGE2D<float>) a10F8#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix10F2,iy10F5);
          real4 v010D9#1 = LoadVoxels<IMAGE2D<float>,4>(a10F8);
          int t110EC#1 = -1;
          int t210ED#1 = Index<int{2},0>(n10D7);
          int ix10EB#1 = Add<int>(t110EC,t210ED);
          int t110EF#1 = 0;
          int t210F0#1 = Index<int{2},1>(n10D7);
          int iy10EE#1 = Add<int>(t110EF,t210F0);
          addr(IMAGE2D<float>) a10F1#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix10EB,iy10EE);
          real4 v110DA#1 = LoadVoxels<IMAGE2D<float>,4>(a10F1);
          int t110E5#1 = -1;
          int t210E6#1 = Index<int{2},0>(n10D7);
          int ix10E4#1 = Add<int>(t110E5,t210E6);
          int t110E8#1 = 1;
          int t210E9#1 = Index<int{2},1>(n10D7);
          int iy10E7#1 = Add<int>(t110E8,t210E9);
          addr(IMAGE2D<float>) a10EA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix10E4,iy10E7);
          real4 v210DB#1 = LoadVoxels<IMAGE2D<float>,4>(a10EA);
          int t110DE#1 = -1;
          int t210DF#1 = Index<int{2},0>(n10D7);
          int ix10DD#1 = Add<int>(t110DE,t210DF);
          int t110E1#1 = 2;
          int t210E2#1 = Index<int{2},1>(n10D7);
          int iy10E0#1 = Add<int>(t110E1,t210E2);
          addr(IMAGE2D<float>) a10E3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix10DD,iy10E0);
          real4 v310DC#1 = LoadVoxels<IMAGE2D<float>,4>(a10E3);
          real fy1104#4 = Index<real2,1>(f10D5);
          real r110C#1 = 0.1e1;
          real t31109#1 = Add<real>(fy1104,r110C);
          real t21108#1 = fy1104;
          real r110B#1 = 0.1e1;
          real t11107#1 = Sub<real>(fy1104,r110B);
          real r110A#1 = 0.2e1;
          real t01106#1 = Sub<real>(fy1104,r110A);
          real4 a1105#1 = <real4>[t31109,t21108,t11107,t01106];
          real4 hy10FA#1 = EvalKernel<4,bspln3,0>(a1105);
          real fx10FB#4 = Index<real2,0>(f10D5);
          real r1103#1 = 0.1e1;
          real t31100#1 = Add<real>(fx10FB,r1103);
          real t210FF#1 = fx10FB;
          real r1102#1 = 0.1e1;
          real t110FE#1 = Sub<real>(fx10FB,r1102);
          real r1101#1 = 0.2e1;
          real t010FD#1 = Sub<real>(fx10FB,r1101);
          real4 a10FC#1 = <real4>[t31100,t210FF,t110FE,t010FD];
          real4 hx10F9#4 = EvalKernel<4,bspln3,0>(a10FC);
          real t0110E#1 = Dot<4>(v010D9,hx10F9);
          real t1110F#1 = Dot<4>(v110DA,hx10F9);
          real t21110#1 = Dot<4>(v210DB,hx10F9);
          real t31111#1 = Dot<4>(v310DC,hx10F9);
          real4 tv110D#1 = <real4>[t0110E,t1110F,t21110,t31111];
          real _t10D3#1 = Dot<4>(hy10FA,tv110D);
          real2 x1151#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v030CE1);
          real2 nd1153#2 = Floor<2>(x1151);
          real2 f1152#2 = Sub<real2>(x1151,nd1153);
          int{2} n1154#8 = RealToInt<2>(nd1153);
          int t11170#1 = -1;
          int t21171#1 = Index<int{2},0>(n1154);
          int ix116F#1 = Add<int>(t11170,t21171);
          int t11173#1 = -1;
          int t21174#1 = Index<int{2},1>(n1154);
          int iy1172#1 = Add<int>(t11173,t21174);
          addr(IMAGE2D<int>) a1175#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix116F,iy1172);
          real4 v01156#1 = LoadVoxels<IMAGE2D<int>,4>(a1175);
          int t11169#1 = -1;
          int t2116A#1 = Index<int{2},0>(n1154);
          int ix1168#1 = Add<int>(t11169,t2116A);
          int t1116C#1 = 0;
          int t2116D#1 = Index<int{2},1>(n1154);
          int iy116B#1 = Add<int>(t1116C,t2116D);
          addr(IMAGE2D<int>) a116E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1168,iy116B);
          real4 v11157#1 = LoadVoxels<IMAGE2D<int>,4>(a116E);
          int t11162#1 = -1;
          int t21163#1 = Index<int{2},0>(n1154);
          int ix1161#1 = Add<int>(t11162,t21163);
          int t11165#1 = 1;
          int t21166#1 = Index<int{2},1>(n1154);
          int iy1164#1 = Add<int>(t11165,t21166);
          addr(IMAGE2D<int>) a1167#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1161,iy1164);
          real4 v21158#1 = LoadVoxels<IMAGE2D<int>,4>(a1167);
          int t1115B#1 = -1;
          int t2115C#1 = Index<int{2},0>(n1154);
          int ix115A#1 = Add<int>(t1115B,t2115C);
          int t1115E#1 = 2;
          int t2115F#1 = Index<int{2},1>(n1154);
          int iy115D#1 = Add<int>(t1115E,t2115F);
          addr(IMAGE2D<int>) a1160#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix115A,iy115D);
          real4 v31159#1 = LoadVoxels<IMAGE2D<int>,4>(a1160);
          real fy1181#4 = Index<real2,1>(f1152);
          real r1189#1 = 0.1e1;
          real t31186#1 = Add<real>(fy1181,r1189);
          real t21185#1 = fy1181;
          real r1188#1 = 0.1e1;
          real t11184#1 = Sub<real>(fy1181,r1188);
          real r1187#1 = 0.2e1;
          real t01183#1 = Sub<real>(fy1181,r1187);
          real4 a1182#1 = <real4>[t31186,t21185,t11184,t01183];
          real4 hy1177#1 = EvalKernel<4,bspln3,0>(a1182);
          real fx1178#4 = Index<real2,0>(f1152);
          real r1180#1 = 0.1e1;
          real t3117D#1 = Add<real>(fx1178,r1180);
          real t2117C#1 = fx1178;
          real r117F#1 = 0.1e1;
          real t1117B#1 = Sub<real>(fx1178,r117F);
          real r117E#1 = 0.2e1;
          real t0117A#1 = Sub<real>(fx1178,r117E);
          real4 a1179#1 = <real4>[t3117D,t2117C,t1117B,t0117A];
          real4 hx1176#4 = EvalKernel<4,bspln3,0>(a1179);
          real t0118B#1 = Dot<4>(v01156,hx1176);
          real t1118C#1 = Dot<4>(v11157,hx1176);
          real t2118D#1 = Dot<4>(v21158,hx1176);
          real t3118E#1 = Dot<4>(v31159,hx1176);
          real4 tv118A#1 = <real4>[t0118B,t1118C,t2118D,t3118E];
          real _t1150#1 = Dot<4>(hy1177,tv118A);
          real _t11CD#2 = Sub<real>(_t10D3,_t1150);
          real _t11CF#1 = Mul<real>(_t11CD,_t11CD);
          real score11D1#1 = Add<real>(score10BC,_t11CF);
          goto JOIN11D4
        JOIN11D4:  preds = [ASSIGN11D2,COND10D2]
          real score11D3#2 = phi(score11D1,score10BC)
          real _t11D5#1 = Dot<2>(r00D67,v040CE5);
          real _t11D7#1 = Dot<2>(r10D6D,v040CE5);
          real2 _t11D9#1 = <real2>[_t11D5,_t11D7];
          real2 pos11DB#2 = Add<real2>(_t11D9,_t0D7D);
          real2 x11DE#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos11DB);
          bool _t11DD#1 = Inside<IMAGE2D<float>,2>(x11DE,_t0CD1);
          if _t11DD then goto ASSIGN11E4 else goto ASSIGN28D2
        ASSIGN11E4:  preds = [COND11E1]
          real2 x11E3#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v040CE5);
          bool _t11E2#1 = Inside<IMAGE2D<int>,2>(x11E3,_t0CCD);
          goto JOIN11E8
        JOIN11E8:  preds = [ASSIGN11E5,ASSIGN28D2]
          bool _t11E6#1 = phi(_t11E2,_t11E7)
          if _t11E6 then goto ASSIGN1229 else goto JOIN12EB
        ASSIGN1229:  preds = [COND11E9]
          real2 x11EB#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos11DB);
          real2 nd11ED#2 = Floor<2>(x11EB);
          real2 f11EC#2 = Sub<real2>(x11EB,nd11ED);
          int{2} n11EE#8 = RealToInt<2>(nd11ED);
          int t1120A#1 = -1;
          int t2120B#1 = Index<int{2},0>(n11EE);
          int ix1209#1 = Add<int>(t1120A,t2120B);
          int t1120D#1 = -1;
          int t2120E#1 = Index<int{2},1>(n11EE);
          int iy120C#1 = Add<int>(t1120D,t2120E);
          addr(IMAGE2D<float>) a120F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1209,iy120C);
          real4 v011F0#1 = LoadVoxels<IMAGE2D<float>,4>(a120F);
          int t11203#1 = -1;
          int t21204#1 = Index<int{2},0>(n11EE);
          int ix1202#1 = Add<int>(t11203,t21204);
          int t11206#1 = 0;
          int t21207#1 = Index<int{2},1>(n11EE);
          int iy1205#1 = Add<int>(t11206,t21207);
          addr(IMAGE2D<float>) a1208#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1202,iy1205);
          real4 v111F1#1 = LoadVoxels<IMAGE2D<float>,4>(a1208);
          int t111FC#1 = -1;
          int t211FD#1 = Index<int{2},0>(n11EE);
          int ix11FB#1 = Add<int>(t111FC,t211FD);
          int t111FF#1 = 1;
          int t21200#1 = Index<int{2},1>(n11EE);
          int iy11FE#1 = Add<int>(t111FF,t21200);
          addr(IMAGE2D<float>) a1201#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix11FB,iy11FE);
          real4 v211F2#1 = LoadVoxels<IMAGE2D<float>,4>(a1201);
          int t111F5#1 = -1;
          int t211F6#1 = Index<int{2},0>(n11EE);
          int ix11F4#1 = Add<int>(t111F5,t211F6);
          int t111F8#1 = 2;
          int t211F9#1 = Index<int{2},1>(n11EE);
          int iy11F7#1 = Add<int>(t111F8,t211F9);
          addr(IMAGE2D<float>) a11FA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix11F4,iy11F7);
          real4 v311F3#1 = LoadVoxels<IMAGE2D<float>,4>(a11FA);
          real fy121B#4 = Index<real2,1>(f11EC);
          real r1223#1 = 0.1e1;
          real t31220#1 = Add<real>(fy121B,r1223);
          real t2121F#1 = fy121B;
          real r1222#1 = 0.1e1;
          real t1121E#1 = Sub<real>(fy121B,r1222);
          real r1221#1 = 0.2e1;
          real t0121D#1 = Sub<real>(fy121B,r1221);
          real4 a121C#1 = <real4>[t31220,t2121F,t1121E,t0121D];
          real4 hy1211#1 = EvalKernel<4,bspln3,0>(a121C);
          real fx1212#4 = Index<real2,0>(f11EC);
          real r121A#1 = 0.1e1;
          real t31217#1 = Add<real>(fx1212,r121A);
          real t21216#1 = fx1212;
          real r1219#1 = 0.1e1;
          real t11215#1 = Sub<real>(fx1212,r1219);
          real r1218#1 = 0.2e1;
          real t01214#1 = Sub<real>(fx1212,r1218);
          real4 a1213#1 = <real4>[t31217,t21216,t11215,t01214];
          real4 hx1210#4 = EvalKernel<4,bspln3,0>(a1213);
          real t01225#1 = Dot<4>(v011F0,hx1210);
          real t11226#1 = Dot<4>(v111F1,hx1210);
          real t21227#1 = Dot<4>(v211F2,hx1210);
          real t31228#1 = Dot<4>(v311F3,hx1210);
          real4 tv1224#1 = <real4>[t01225,t11226,t21227,t31228];
          real _t11EA#1 = Dot<4>(hy1211,tv1224);
          real2 x1268#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v040CE5);
          real2 nd126A#2 = Floor<2>(x1268);
          real2 f1269#2 = Sub<real2>(x1268,nd126A);
          int{2} n126B#8 = RealToInt<2>(nd126A);
          int t11287#1 = -1;
          int t21288#1 = Index<int{2},0>(n126B);
          int ix1286#1 = Add<int>(t11287,t21288);
          int t1128A#1 = -1;
          int t2128B#1 = Index<int{2},1>(n126B);
          int iy1289#1 = Add<int>(t1128A,t2128B);
          addr(IMAGE2D<int>) a128C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1286,iy1289);
          real4 v0126D#1 = LoadVoxels<IMAGE2D<int>,4>(a128C);
          int t11280#1 = -1;
          int t21281#1 = Index<int{2},0>(n126B);
          int ix127F#1 = Add<int>(t11280,t21281);
          int t11283#1 = 0;
          int t21284#1 = Index<int{2},1>(n126B);
          int iy1282#1 = Add<int>(t11283,t21284);
          addr(IMAGE2D<int>) a1285#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix127F,iy1282);
          real4 v1126E#1 = LoadVoxels<IMAGE2D<int>,4>(a1285);
          int t11279#1 = -1;
          int t2127A#1 = Index<int{2},0>(n126B);
          int ix1278#1 = Add<int>(t11279,t2127A);
          int t1127C#1 = 1;
          int t2127D#1 = Index<int{2},1>(n126B);
          int iy127B#1 = Add<int>(t1127C,t2127D);
          addr(IMAGE2D<int>) a127E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1278,iy127B);
          real4 v2126F#1 = LoadVoxels<IMAGE2D<int>,4>(a127E);
          int t11272#1 = -1;
          int t21273#1 = Index<int{2},0>(n126B);
          int ix1271#1 = Add<int>(t11272,t21273);
          int t11275#1 = 2;
          int t21276#1 = Index<int{2},1>(n126B);
          int iy1274#1 = Add<int>(t11275,t21276);
          addr(IMAGE2D<int>) a1277#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1271,iy1274);
          real4 v31270#1 = LoadVoxels<IMAGE2D<int>,4>(a1277);
          real fy1298#4 = Index<real2,1>(f1269);
          real r12A0#1 = 0.1e1;
          real t3129D#1 = Add<real>(fy1298,r12A0);
          real t2129C#1 = fy1298;
          real r129F#1 = 0.1e1;
          real t1129B#1 = Sub<real>(fy1298,r129F);
          real r129E#1 = 0.2e1;
          real t0129A#1 = Sub<real>(fy1298,r129E);
          real4 a1299#1 = <real4>[t3129D,t2129C,t1129B,t0129A];
          real4 hy128E#1 = EvalKernel<4,bspln3,0>(a1299);
          real fx128F#4 = Index<real2,0>(f1269);
          real r1297#1 = 0.1e1;
          real t31294#1 = Add<real>(fx128F,r1297);
          real t21293#1 = fx128F;
          real r1296#1 = 0.1e1;
          real t11292#1 = Sub<real>(fx128F,r1296);
          real r1295#1 = 0.2e1;
          real t01291#1 = Sub<real>(fx128F,r1295);
          real4 a1290#1 = <real4>[t31294,t21293,t11292,t01291];
          real4 hx128D#4 = EvalKernel<4,bspln3,0>(a1290);
          real t012A2#1 = Dot<4>(v0126D,hx128D);
          real t112A3#1 = Dot<4>(v1126E,hx128D);
          real t212A4#1 = Dot<4>(v2126F,hx128D);
          real t312A5#1 = Dot<4>(v31270,hx128D);
          real4 tv12A1#1 = <real4>[t012A2,t112A3,t212A4,t312A5];
          real _t1267#1 = Dot<4>(hy128E,tv12A1);
          real _t12E4#2 = Sub<real>(_t11EA,_t1267);
          real _t12E6#1 = Mul<real>(_t12E4,_t12E4);
          real score12E8#1 = Add<real>(score11D3,_t12E6);
          goto JOIN12EB
        JOIN12EB:  preds = [ASSIGN12E9,COND11E9]
          real score12EA#2 = phi(score12E8,score11D3)
          real _t12EC#1 = Dot<2>(r00D67,v050CE7);
          real _t12EE#1 = Dot<2>(r10D6D,v050CE7);
          real2 _t12F0#1 = <real2>[_t12EC,_t12EE];
          real2 pos12F2#2 = Add<real2>(_t12F0,_t0D7D);
          real2 x12F5#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos12F2);
          bool _t12F4#1 = Inside<IMAGE2D<float>,2>(x12F5,_t0CD1);
          if _t12F4 then goto ASSIGN12FB else goto ASSIGN28D1
        ASSIGN12FB:  preds = [COND12F8]
          real2 x12FA#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v050CE7);
          bool _t12F9#1 = Inside<IMAGE2D<int>,2>(x12FA,_t0CCD);
          goto JOIN12FF
        JOIN12FF:  preds = [ASSIGN12FC,ASSIGN28D1]
          bool _t12FD#1 = phi(_t12F9,_t12FE)
          if _t12FD then goto ASSIGN1340 else goto JOIN1402
        ASSIGN1340:  preds = [COND1300]
          real2 x1302#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos12F2);
          real2 nd1304#2 = Floor<2>(x1302);
          real2 f1303#2 = Sub<real2>(x1302,nd1304);
          int{2} n1305#8 = RealToInt<2>(nd1304);
          int t11321#1 = -1;
          int t21322#1 = Index<int{2},0>(n1305);
          int ix1320#1 = Add<int>(t11321,t21322);
          int t11324#1 = -1;
          int t21325#1 = Index<int{2},1>(n1305);
          int iy1323#1 = Add<int>(t11324,t21325);
          addr(IMAGE2D<float>) a1326#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1320,iy1323);
          real4 v01307#1 = LoadVoxels<IMAGE2D<float>,4>(a1326);
          int t1131A#1 = -1;
          int t2131B#1 = Index<int{2},0>(n1305);
          int ix1319#1 = Add<int>(t1131A,t2131B);
          int t1131D#1 = 0;
          int t2131E#1 = Index<int{2},1>(n1305);
          int iy131C#1 = Add<int>(t1131D,t2131E);
          addr(IMAGE2D<float>) a131F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1319,iy131C);
          real4 v11308#1 = LoadVoxels<IMAGE2D<float>,4>(a131F);
          int t11313#1 = -1;
          int t21314#1 = Index<int{2},0>(n1305);
          int ix1312#1 = Add<int>(t11313,t21314);
          int t11316#1 = 1;
          int t21317#1 = Index<int{2},1>(n1305);
          int iy1315#1 = Add<int>(t11316,t21317);
          addr(IMAGE2D<float>) a1318#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1312,iy1315);
          real4 v21309#1 = LoadVoxels<IMAGE2D<float>,4>(a1318);
          int t1130C#1 = -1;
          int t2130D#1 = Index<int{2},0>(n1305);
          int ix130B#1 = Add<int>(t1130C,t2130D);
          int t1130F#1 = 2;
          int t21310#1 = Index<int{2},1>(n1305);
          int iy130E#1 = Add<int>(t1130F,t21310);
          addr(IMAGE2D<float>) a1311#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix130B,iy130E);
          real4 v3130A#1 = LoadVoxels<IMAGE2D<float>,4>(a1311);
          real fy1332#4 = Index<real2,1>(f1303);
          real r133A#1 = 0.1e1;
          real t31337#1 = Add<real>(fy1332,r133A);
          real t21336#1 = fy1332;
          real r1339#1 = 0.1e1;
          real t11335#1 = Sub<real>(fy1332,r1339);
          real r1338#1 = 0.2e1;
          real t01334#1 = Sub<real>(fy1332,r1338);
          real4 a1333#1 = <real4>[t31337,t21336,t11335,t01334];
          real4 hy1328#1 = EvalKernel<4,bspln3,0>(a1333);
          real fx1329#4 = Index<real2,0>(f1303);
          real r1331#1 = 0.1e1;
          real t3132E#1 = Add<real>(fx1329,r1331);
          real t2132D#1 = fx1329;
          real r1330#1 = 0.1e1;
          real t1132C#1 = Sub<real>(fx1329,r1330);
          real r132F#1 = 0.2e1;
          real t0132B#1 = Sub<real>(fx1329,r132F);
          real4 a132A#1 = <real4>[t3132E,t2132D,t1132C,t0132B];
          real4 hx1327#4 = EvalKernel<4,bspln3,0>(a132A);
          real t0133C#1 = Dot<4>(v01307,hx1327);
          real t1133D#1 = Dot<4>(v11308,hx1327);
          real t2133E#1 = Dot<4>(v21309,hx1327);
          real t3133F#1 = Dot<4>(v3130A,hx1327);
          real4 tv133B#1 = <real4>[t0133C,t1133D,t2133E,t3133F];
          real _t1301#1 = Dot<4>(hy1328,tv133B);
          real2 x137F#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v050CE7);
          real2 nd1381#2 = Floor<2>(x137F);
          real2 f1380#2 = Sub<real2>(x137F,nd1381);
          int{2} n1382#8 = RealToInt<2>(nd1381);
          int t1139E#1 = -1;
          int t2139F#1 = Index<int{2},0>(n1382);
          int ix139D#1 = Add<int>(t1139E,t2139F);
          int t113A1#1 = -1;
          int t213A2#1 = Index<int{2},1>(n1382);
          int iy13A0#1 = Add<int>(t113A1,t213A2);
          addr(IMAGE2D<int>) a13A3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix139D,iy13A0);
          real4 v01384#1 = LoadVoxels<IMAGE2D<int>,4>(a13A3);
          int t11397#1 = -1;
          int t21398#1 = Index<int{2},0>(n1382);
          int ix1396#1 = Add<int>(t11397,t21398);
          int t1139A#1 = 0;
          int t2139B#1 = Index<int{2},1>(n1382);
          int iy1399#1 = Add<int>(t1139A,t2139B);
          addr(IMAGE2D<int>) a139C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1396,iy1399);
          real4 v11385#1 = LoadVoxels<IMAGE2D<int>,4>(a139C);
          int t11390#1 = -1;
          int t21391#1 = Index<int{2},0>(n1382);
          int ix138F#1 = Add<int>(t11390,t21391);
          int t11393#1 = 1;
          int t21394#1 = Index<int{2},1>(n1382);
          int iy1392#1 = Add<int>(t11393,t21394);
          addr(IMAGE2D<int>) a1395#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix138F,iy1392);
          real4 v21386#1 = LoadVoxels<IMAGE2D<int>,4>(a1395);
          int t11389#1 = -1;
          int t2138A#1 = Index<int{2},0>(n1382);
          int ix1388#1 = Add<int>(t11389,t2138A);
          int t1138C#1 = 2;
          int t2138D#1 = Index<int{2},1>(n1382);
          int iy138B#1 = Add<int>(t1138C,t2138D);
          addr(IMAGE2D<int>) a138E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1388,iy138B);
          real4 v31387#1 = LoadVoxels<IMAGE2D<int>,4>(a138E);
          real fy13AF#4 = Index<real2,1>(f1380);
          real r13B7#1 = 0.1e1;
          real t313B4#1 = Add<real>(fy13AF,r13B7);
          real t213B3#1 = fy13AF;
          real r13B6#1 = 0.1e1;
          real t113B2#1 = Sub<real>(fy13AF,r13B6);
          real r13B5#1 = 0.2e1;
          real t013B1#1 = Sub<real>(fy13AF,r13B5);
          real4 a13B0#1 = <real4>[t313B4,t213B3,t113B2,t013B1];
          real4 hy13A5#1 = EvalKernel<4,bspln3,0>(a13B0);
          real fx13A6#4 = Index<real2,0>(f1380);
          real r13AE#1 = 0.1e1;
          real t313AB#1 = Add<real>(fx13A6,r13AE);
          real t213AA#1 = fx13A6;
          real r13AD#1 = 0.1e1;
          real t113A9#1 = Sub<real>(fx13A6,r13AD);
          real r13AC#1 = 0.2e1;
          real t013A8#1 = Sub<real>(fx13A6,r13AC);
          real4 a13A7#1 = <real4>[t313AB,t213AA,t113A9,t013A8];
          real4 hx13A4#4 = EvalKernel<4,bspln3,0>(a13A7);
          real t013B9#1 = Dot<4>(v01384,hx13A4);
          real t113BA#1 = Dot<4>(v11385,hx13A4);
          real t213BB#1 = Dot<4>(v21386,hx13A4);
          real t313BC#1 = Dot<4>(v31387,hx13A4);
          real4 tv13B8#1 = <real4>[t013B9,t113BA,t213BB,t313BC];
          real _t137E#1 = Dot<4>(hy13A5,tv13B8);
          real _t13FB#2 = Sub<real>(_t1301,_t137E);
          real _t13FD#1 = Mul<real>(_t13FB,_t13FB);
          real score13FF#1 = Add<real>(score12EA,_t13FD);
          goto JOIN1402
        JOIN1402:  preds = [ASSIGN1400,COND1300]
          real score1401#2 = phi(score13FF,score12EA)
          real _t1403#1 = Dot<2>(r00D67,v060CE9);
          real _t1405#1 = Dot<2>(r10D6D,v060CE9);
          real2 _t1407#1 = <real2>[_t1403,_t1405];
          real2 pos1409#2 = Add<real2>(_t1407,_t0D7D);
          real2 x140C#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1409);
          bool _t140B#1 = Inside<IMAGE2D<float>,2>(x140C,_t0CD1);
          if _t140B then goto ASSIGN1412 else goto ASSIGN28D0
        ASSIGN1412:  preds = [COND140F]
          real2 x1411#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v060CE9);
          bool _t1410#1 = Inside<IMAGE2D<int>,2>(x1411,_t0CCD);
          goto JOIN1416
        JOIN1416:  preds = [ASSIGN1413,ASSIGN28D0]
          bool _t1414#1 = phi(_t1410,_t1415)
          if _t1414 then goto ASSIGN1457 else goto JOIN1519
        ASSIGN1457:  preds = [COND1417]
          real2 x1419#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1409);
          real2 nd141B#2 = Floor<2>(x1419);
          real2 f141A#2 = Sub<real2>(x1419,nd141B);
          int{2} n141C#8 = RealToInt<2>(nd141B);
          int t11438#1 = -1;
          int t21439#1 = Index<int{2},0>(n141C);
          int ix1437#1 = Add<int>(t11438,t21439);
          int t1143B#1 = -1;
          int t2143C#1 = Index<int{2},1>(n141C);
          int iy143A#1 = Add<int>(t1143B,t2143C);
          addr(IMAGE2D<float>) a143D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1437,iy143A);
          real4 v0141E#1 = LoadVoxels<IMAGE2D<float>,4>(a143D);
          int t11431#1 = -1;
          int t21432#1 = Index<int{2},0>(n141C);
          int ix1430#1 = Add<int>(t11431,t21432);
          int t11434#1 = 0;
          int t21435#1 = Index<int{2},1>(n141C);
          int iy1433#1 = Add<int>(t11434,t21435);
          addr(IMAGE2D<float>) a1436#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1430,iy1433);
          real4 v1141F#1 = LoadVoxels<IMAGE2D<float>,4>(a1436);
          int t1142A#1 = -1;
          int t2142B#1 = Index<int{2},0>(n141C);
          int ix1429#1 = Add<int>(t1142A,t2142B);
          int t1142D#1 = 1;
          int t2142E#1 = Index<int{2},1>(n141C);
          int iy142C#1 = Add<int>(t1142D,t2142E);
          addr(IMAGE2D<float>) a142F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1429,iy142C);
          real4 v21420#1 = LoadVoxels<IMAGE2D<float>,4>(a142F);
          int t11423#1 = -1;
          int t21424#1 = Index<int{2},0>(n141C);
          int ix1422#1 = Add<int>(t11423,t21424);
          int t11426#1 = 2;
          int t21427#1 = Index<int{2},1>(n141C);
          int iy1425#1 = Add<int>(t11426,t21427);
          addr(IMAGE2D<float>) a1428#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1422,iy1425);
          real4 v31421#1 = LoadVoxels<IMAGE2D<float>,4>(a1428);
          real fy1449#4 = Index<real2,1>(f141A);
          real r1451#1 = 0.1e1;
          real t3144E#1 = Add<real>(fy1449,r1451);
          real t2144D#1 = fy1449;
          real r1450#1 = 0.1e1;
          real t1144C#1 = Sub<real>(fy1449,r1450);
          real r144F#1 = 0.2e1;
          real t0144B#1 = Sub<real>(fy1449,r144F);
          real4 a144A#1 = <real4>[t3144E,t2144D,t1144C,t0144B];
          real4 hy143F#1 = EvalKernel<4,bspln3,0>(a144A);
          real fx1440#4 = Index<real2,0>(f141A);
          real r1448#1 = 0.1e1;
          real t31445#1 = Add<real>(fx1440,r1448);
          real t21444#1 = fx1440;
          real r1447#1 = 0.1e1;
          real t11443#1 = Sub<real>(fx1440,r1447);
          real r1446#1 = 0.2e1;
          real t01442#1 = Sub<real>(fx1440,r1446);
          real4 a1441#1 = <real4>[t31445,t21444,t11443,t01442];
          real4 hx143E#4 = EvalKernel<4,bspln3,0>(a1441);
          real t01453#1 = Dot<4>(v0141E,hx143E);
          real t11454#1 = Dot<4>(v1141F,hx143E);
          real t21455#1 = Dot<4>(v21420,hx143E);
          real t31456#1 = Dot<4>(v31421,hx143E);
          real4 tv1452#1 = <real4>[t01453,t11454,t21455,t31456];
          real _t1418#1 = Dot<4>(hy143F,tv1452);
          real2 x1496#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v060CE9);
          real2 nd1498#2 = Floor<2>(x1496);
          real2 f1497#2 = Sub<real2>(x1496,nd1498);
          int{2} n1499#8 = RealToInt<2>(nd1498);
          int t114B5#1 = -1;
          int t214B6#1 = Index<int{2},0>(n1499);
          int ix14B4#1 = Add<int>(t114B5,t214B6);
          int t114B8#1 = -1;
          int t214B9#1 = Index<int{2},1>(n1499);
          int iy14B7#1 = Add<int>(t114B8,t214B9);
          addr(IMAGE2D<int>) a14BA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix14B4,iy14B7);
          real4 v0149B#1 = LoadVoxels<IMAGE2D<int>,4>(a14BA);
          int t114AE#1 = -1;
          int t214AF#1 = Index<int{2},0>(n1499);
          int ix14AD#1 = Add<int>(t114AE,t214AF);
          int t114B1#1 = 0;
          int t214B2#1 = Index<int{2},1>(n1499);
          int iy14B0#1 = Add<int>(t114B1,t214B2);
          addr(IMAGE2D<int>) a14B3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix14AD,iy14B0);
          real4 v1149C#1 = LoadVoxels<IMAGE2D<int>,4>(a14B3);
          int t114A7#1 = -1;
          int t214A8#1 = Index<int{2},0>(n1499);
          int ix14A6#1 = Add<int>(t114A7,t214A8);
          int t114AA#1 = 1;
          int t214AB#1 = Index<int{2},1>(n1499);
          int iy14A9#1 = Add<int>(t114AA,t214AB);
          addr(IMAGE2D<int>) a14AC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix14A6,iy14A9);
          real4 v2149D#1 = LoadVoxels<IMAGE2D<int>,4>(a14AC);
          int t114A0#1 = -1;
          int t214A1#1 = Index<int{2},0>(n1499);
          int ix149F#1 = Add<int>(t114A0,t214A1);
          int t114A3#1 = 2;
          int t214A4#1 = Index<int{2},1>(n1499);
          int iy14A2#1 = Add<int>(t114A3,t214A4);
          addr(IMAGE2D<int>) a14A5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix149F,iy14A2);
          real4 v3149E#1 = LoadVoxels<IMAGE2D<int>,4>(a14A5);
          real fy14C6#4 = Index<real2,1>(f1497);
          real r14CE#1 = 0.1e1;
          real t314CB#1 = Add<real>(fy14C6,r14CE);
          real t214CA#1 = fy14C6;
          real r14CD#1 = 0.1e1;
          real t114C9#1 = Sub<real>(fy14C6,r14CD);
          real r14CC#1 = 0.2e1;
          real t014C8#1 = Sub<real>(fy14C6,r14CC);
          real4 a14C7#1 = <real4>[t314CB,t214CA,t114C9,t014C8];
          real4 hy14BC#1 = EvalKernel<4,bspln3,0>(a14C7);
          real fx14BD#4 = Index<real2,0>(f1497);
          real r14C5#1 = 0.1e1;
          real t314C2#1 = Add<real>(fx14BD,r14C5);
          real t214C1#1 = fx14BD;
          real r14C4#1 = 0.1e1;
          real t114C0#1 = Sub<real>(fx14BD,r14C4);
          real r14C3#1 = 0.2e1;
          real t014BF#1 = Sub<real>(fx14BD,r14C3);
          real4 a14BE#1 = <real4>[t314C2,t214C1,t114C0,t014BF];
          real4 hx14BB#4 = EvalKernel<4,bspln3,0>(a14BE);
          real t014D0#1 = Dot<4>(v0149B,hx14BB);
          real t114D1#1 = Dot<4>(v1149C,hx14BB);
          real t214D2#1 = Dot<4>(v2149D,hx14BB);
          real t314D3#1 = Dot<4>(v3149E,hx14BB);
          real4 tv14CF#1 = <real4>[t014D0,t114D1,t214D2,t314D3];
          real _t1495#1 = Dot<4>(hy14BC,tv14CF);
          real _t1512#2 = Sub<real>(_t1418,_t1495);
          real _t1514#1 = Mul<real>(_t1512,_t1512);
          real score1516#1 = Add<real>(score1401,_t1514);
          goto JOIN1519
        JOIN1519:  preds = [ASSIGN1517,COND1417]
          real score1518#2 = phi(score1516,score1401)
          real _t151A#1 = Dot<2>(r00D67,v070CEB);
          real _t151C#1 = Dot<2>(r10D6D,v070CEB);
          real2 _t151E#1 = <real2>[_t151A,_t151C];
          real2 pos1520#2 = Add<real2>(_t151E,_t0D7D);
          real2 x1523#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1520);
          bool _t1522#1 = Inside<IMAGE2D<float>,2>(x1523,_t0CD1);
          if _t1522 then goto ASSIGN1529 else goto ASSIGN28CF
        ASSIGN1529:  preds = [COND1526]
          real2 x1528#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v070CEB);
          bool _t1527#1 = Inside<IMAGE2D<int>,2>(x1528,_t0CCD);
          goto JOIN152D
        JOIN152D:  preds = [ASSIGN152A,ASSIGN28CF]
          bool _t152B#1 = phi(_t1527,_t152C)
          if _t152B then goto ASSIGN156E else goto JOIN1630
        ASSIGN156E:  preds = [COND152E]
          real2 x1530#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1520);
          real2 nd1532#2 = Floor<2>(x1530);
          real2 f1531#2 = Sub<real2>(x1530,nd1532);
          int{2} n1533#8 = RealToInt<2>(nd1532);
          int t1154F#1 = -1;
          int t21550#1 = Index<int{2},0>(n1533);
          int ix154E#1 = Add<int>(t1154F,t21550);
          int t11552#1 = -1;
          int t21553#1 = Index<int{2},1>(n1533);
          int iy1551#1 = Add<int>(t11552,t21553);
          addr(IMAGE2D<float>) a1554#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix154E,iy1551);
          real4 v01535#1 = LoadVoxels<IMAGE2D<float>,4>(a1554);
          int t11548#1 = -1;
          int t21549#1 = Index<int{2},0>(n1533);
          int ix1547#1 = Add<int>(t11548,t21549);
          int t1154B#1 = 0;
          int t2154C#1 = Index<int{2},1>(n1533);
          int iy154A#1 = Add<int>(t1154B,t2154C);
          addr(IMAGE2D<float>) a154D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1547,iy154A);
          real4 v11536#1 = LoadVoxels<IMAGE2D<float>,4>(a154D);
          int t11541#1 = -1;
          int t21542#1 = Index<int{2},0>(n1533);
          int ix1540#1 = Add<int>(t11541,t21542);
          int t11544#1 = 1;
          int t21545#1 = Index<int{2},1>(n1533);
          int iy1543#1 = Add<int>(t11544,t21545);
          addr(IMAGE2D<float>) a1546#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1540,iy1543);
          real4 v21537#1 = LoadVoxels<IMAGE2D<float>,4>(a1546);
          int t1153A#1 = -1;
          int t2153B#1 = Index<int{2},0>(n1533);
          int ix1539#1 = Add<int>(t1153A,t2153B);
          int t1153D#1 = 2;
          int t2153E#1 = Index<int{2},1>(n1533);
          int iy153C#1 = Add<int>(t1153D,t2153E);
          addr(IMAGE2D<float>) a153F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1539,iy153C);
          real4 v31538#1 = LoadVoxels<IMAGE2D<float>,4>(a153F);
          real fy1560#4 = Index<real2,1>(f1531);
          real r1568#1 = 0.1e1;
          real t31565#1 = Add<real>(fy1560,r1568);
          real t21564#1 = fy1560;
          real r1567#1 = 0.1e1;
          real t11563#1 = Sub<real>(fy1560,r1567);
          real r1566#1 = 0.2e1;
          real t01562#1 = Sub<real>(fy1560,r1566);
          real4 a1561#1 = <real4>[t31565,t21564,t11563,t01562];
          real4 hy1556#1 = EvalKernel<4,bspln3,0>(a1561);
          real fx1557#4 = Index<real2,0>(f1531);
          real r155F#1 = 0.1e1;
          real t3155C#1 = Add<real>(fx1557,r155F);
          real t2155B#1 = fx1557;
          real r155E#1 = 0.1e1;
          real t1155A#1 = Sub<real>(fx1557,r155E);
          real r155D#1 = 0.2e1;
          real t01559#1 = Sub<real>(fx1557,r155D);
          real4 a1558#1 = <real4>[t3155C,t2155B,t1155A,t01559];
          real4 hx1555#4 = EvalKernel<4,bspln3,0>(a1558);
          real t0156A#1 = Dot<4>(v01535,hx1555);
          real t1156B#1 = Dot<4>(v11536,hx1555);
          real t2156C#1 = Dot<4>(v21537,hx1555);
          real t3156D#1 = Dot<4>(v31538,hx1555);
          real4 tv1569#1 = <real4>[t0156A,t1156B,t2156C,t3156D];
          real _t152F#1 = Dot<4>(hy1556,tv1569);
          real2 x15AD#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v070CEB);
          real2 nd15AF#2 = Floor<2>(x15AD);
          real2 f15AE#2 = Sub<real2>(x15AD,nd15AF);
          int{2} n15B0#8 = RealToInt<2>(nd15AF);
          int t115CC#1 = -1;
          int t215CD#1 = Index<int{2},0>(n15B0);
          int ix15CB#1 = Add<int>(t115CC,t215CD);
          int t115CF#1 = -1;
          int t215D0#1 = Index<int{2},1>(n15B0);
          int iy15CE#1 = Add<int>(t115CF,t215D0);
          addr(IMAGE2D<int>) a15D1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix15CB,iy15CE);
          real4 v015B2#1 = LoadVoxels<IMAGE2D<int>,4>(a15D1);
          int t115C5#1 = -1;
          int t215C6#1 = Index<int{2},0>(n15B0);
          int ix15C4#1 = Add<int>(t115C5,t215C6);
          int t115C8#1 = 0;
          int t215C9#1 = Index<int{2},1>(n15B0);
          int iy15C7#1 = Add<int>(t115C8,t215C9);
          addr(IMAGE2D<int>) a15CA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix15C4,iy15C7);
          real4 v115B3#1 = LoadVoxels<IMAGE2D<int>,4>(a15CA);
          int t115BE#1 = -1;
          int t215BF#1 = Index<int{2},0>(n15B0);
          int ix15BD#1 = Add<int>(t115BE,t215BF);
          int t115C1#1 = 1;
          int t215C2#1 = Index<int{2},1>(n15B0);
          int iy15C0#1 = Add<int>(t115C1,t215C2);
          addr(IMAGE2D<int>) a15C3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix15BD,iy15C0);
          real4 v215B4#1 = LoadVoxels<IMAGE2D<int>,4>(a15C3);
          int t115B7#1 = -1;
          int t215B8#1 = Index<int{2},0>(n15B0);
          int ix15B6#1 = Add<int>(t115B7,t215B8);
          int t115BA#1 = 2;
          int t215BB#1 = Index<int{2},1>(n15B0);
          int iy15B9#1 = Add<int>(t115BA,t215BB);
          addr(IMAGE2D<int>) a15BC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix15B6,iy15B9);
          real4 v315B5#1 = LoadVoxels<IMAGE2D<int>,4>(a15BC);
          real fy15DD#4 = Index<real2,1>(f15AE);
          real r15E5#1 = 0.1e1;
          real t315E2#1 = Add<real>(fy15DD,r15E5);
          real t215E1#1 = fy15DD;
          real r15E4#1 = 0.1e1;
          real t115E0#1 = Sub<real>(fy15DD,r15E4);
          real r15E3#1 = 0.2e1;
          real t015DF#1 = Sub<real>(fy15DD,r15E3);
          real4 a15DE#1 = <real4>[t315E2,t215E1,t115E0,t015DF];
          real4 hy15D3#1 = EvalKernel<4,bspln3,0>(a15DE);
          real fx15D4#4 = Index<real2,0>(f15AE);
          real r15DC#1 = 0.1e1;
          real t315D9#1 = Add<real>(fx15D4,r15DC);
          real t215D8#1 = fx15D4;
          real r15DB#1 = 0.1e1;
          real t115D7#1 = Sub<real>(fx15D4,r15DB);
          real r15DA#1 = 0.2e1;
          real t015D6#1 = Sub<real>(fx15D4,r15DA);
          real4 a15D5#1 = <real4>[t315D9,t215D8,t115D7,t015D6];
          real4 hx15D2#4 = EvalKernel<4,bspln3,0>(a15D5);
          real t015E7#1 = Dot<4>(v015B2,hx15D2);
          real t115E8#1 = Dot<4>(v115B3,hx15D2);
          real t215E9#1 = Dot<4>(v215B4,hx15D2);
          real t315EA#1 = Dot<4>(v315B5,hx15D2);
          real4 tv15E6#1 = <real4>[t015E7,t115E8,t215E9,t315EA];
          real _t15AC#1 = Dot<4>(hy15D3,tv15E6);
          real _t1629#2 = Sub<real>(_t152F,_t15AC);
          real _t162B#1 = Mul<real>(_t1629,_t1629);
          real score162D#1 = Add<real>(score1518,_t162B);
          goto JOIN1630
        JOIN1630:  preds = [ASSIGN162E,COND152E]
          real score162F#2 = phi(score162D,score1518)
          real _t1631#1 = Dot<2>(r00D67,v080CED);
          real _t1633#1 = Dot<2>(r10D6D,v080CED);
          real2 _t1635#1 = <real2>[_t1631,_t1633];
          real2 pos1637#2 = Add<real2>(_t1635,_t0D7D);
          real2 x163A#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1637);
          bool _t1639#1 = Inside<IMAGE2D<float>,2>(x163A,_t0CD1);
          if _t1639 then goto ASSIGN1640 else goto ASSIGN28CE
        ASSIGN1640:  preds = [COND163D]
          real2 x163F#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v080CED);
          bool _t163E#1 = Inside<IMAGE2D<int>,2>(x163F,_t0CCD);
          goto JOIN1644
        JOIN1644:  preds = [ASSIGN1641,ASSIGN28CE]
          bool _t1642#1 = phi(_t163E,_t1643)
          if _t1642 then goto ASSIGN1685 else goto JOIN1747
        ASSIGN1685:  preds = [COND1645]
          real2 x1647#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1637);
          real2 nd1649#2 = Floor<2>(x1647);
          real2 f1648#2 = Sub<real2>(x1647,nd1649);
          int{2} n164A#8 = RealToInt<2>(nd1649);
          int t11666#1 = -1;
          int t21667#1 = Index<int{2},0>(n164A);
          int ix1665#1 = Add<int>(t11666,t21667);
          int t11669#1 = -1;
          int t2166A#1 = Index<int{2},1>(n164A);
          int iy1668#1 = Add<int>(t11669,t2166A);
          addr(IMAGE2D<float>) a166B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1665,iy1668);
          real4 v0164C#1 = LoadVoxels<IMAGE2D<float>,4>(a166B);
          int t1165F#1 = -1;
          int t21660#1 = Index<int{2},0>(n164A);
          int ix165E#1 = Add<int>(t1165F,t21660);
          int t11662#1 = 0;
          int t21663#1 = Index<int{2},1>(n164A);
          int iy1661#1 = Add<int>(t11662,t21663);
          addr(IMAGE2D<float>) a1664#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix165E,iy1661);
          real4 v1164D#1 = LoadVoxels<IMAGE2D<float>,4>(a1664);
          int t11658#1 = -1;
          int t21659#1 = Index<int{2},0>(n164A);
          int ix1657#1 = Add<int>(t11658,t21659);
          int t1165B#1 = 1;
          int t2165C#1 = Index<int{2},1>(n164A);
          int iy165A#1 = Add<int>(t1165B,t2165C);
          addr(IMAGE2D<float>) a165D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1657,iy165A);
          real4 v2164E#1 = LoadVoxels<IMAGE2D<float>,4>(a165D);
          int t11651#1 = -1;
          int t21652#1 = Index<int{2},0>(n164A);
          int ix1650#1 = Add<int>(t11651,t21652);
          int t11654#1 = 2;
          int t21655#1 = Index<int{2},1>(n164A);
          int iy1653#1 = Add<int>(t11654,t21655);
          addr(IMAGE2D<float>) a1656#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1650,iy1653);
          real4 v3164F#1 = LoadVoxels<IMAGE2D<float>,4>(a1656);
          real fy1677#4 = Index<real2,1>(f1648);
          real r167F#1 = 0.1e1;
          real t3167C#1 = Add<real>(fy1677,r167F);
          real t2167B#1 = fy1677;
          real r167E#1 = 0.1e1;
          real t1167A#1 = Sub<real>(fy1677,r167E);
          real r167D#1 = 0.2e1;
          real t01679#1 = Sub<real>(fy1677,r167D);
          real4 a1678#1 = <real4>[t3167C,t2167B,t1167A,t01679];
          real4 hy166D#1 = EvalKernel<4,bspln3,0>(a1678);
          real fx166E#4 = Index<real2,0>(f1648);
          real r1676#1 = 0.1e1;
          real t31673#1 = Add<real>(fx166E,r1676);
          real t21672#1 = fx166E;
          real r1675#1 = 0.1e1;
          real t11671#1 = Sub<real>(fx166E,r1675);
          real r1674#1 = 0.2e1;
          real t01670#1 = Sub<real>(fx166E,r1674);
          real4 a166F#1 = <real4>[t31673,t21672,t11671,t01670];
          real4 hx166C#4 = EvalKernel<4,bspln3,0>(a166F);
          real t01681#1 = Dot<4>(v0164C,hx166C);
          real t11682#1 = Dot<4>(v1164D,hx166C);
          real t21683#1 = Dot<4>(v2164E,hx166C);
          real t31684#1 = Dot<4>(v3164F,hx166C);
          real4 tv1680#1 = <real4>[t01681,t11682,t21683,t31684];
          real _t1646#1 = Dot<4>(hy166D,tv1680);
          real2 x16C4#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v080CED);
          real2 nd16C6#2 = Floor<2>(x16C4);
          real2 f16C5#2 = Sub<real2>(x16C4,nd16C6);
          int{2} n16C7#8 = RealToInt<2>(nd16C6);
          int t116E3#1 = -1;
          int t216E4#1 = Index<int{2},0>(n16C7);
          int ix16E2#1 = Add<int>(t116E3,t216E4);
          int t116E6#1 = -1;
          int t216E7#1 = Index<int{2},1>(n16C7);
          int iy16E5#1 = Add<int>(t116E6,t216E7);
          addr(IMAGE2D<int>) a16E8#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix16E2,iy16E5);
          real4 v016C9#1 = LoadVoxels<IMAGE2D<int>,4>(a16E8);
          int t116DC#1 = -1;
          int t216DD#1 = Index<int{2},0>(n16C7);
          int ix16DB#1 = Add<int>(t116DC,t216DD);
          int t116DF#1 = 0;
          int t216E0#1 = Index<int{2},1>(n16C7);
          int iy16DE#1 = Add<int>(t116DF,t216E0);
          addr(IMAGE2D<int>) a16E1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix16DB,iy16DE);
          real4 v116CA#1 = LoadVoxels<IMAGE2D<int>,4>(a16E1);
          int t116D5#1 = -1;
          int t216D6#1 = Index<int{2},0>(n16C7);
          int ix16D4#1 = Add<int>(t116D5,t216D6);
          int t116D8#1 = 1;
          int t216D9#1 = Index<int{2},1>(n16C7);
          int iy16D7#1 = Add<int>(t116D8,t216D9);
          addr(IMAGE2D<int>) a16DA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix16D4,iy16D7);
          real4 v216CB#1 = LoadVoxels<IMAGE2D<int>,4>(a16DA);
          int t116CE#1 = -1;
          int t216CF#1 = Index<int{2},0>(n16C7);
          int ix16CD#1 = Add<int>(t116CE,t216CF);
          int t116D1#1 = 2;
          int t216D2#1 = Index<int{2},1>(n16C7);
          int iy16D0#1 = Add<int>(t116D1,t216D2);
          addr(IMAGE2D<int>) a16D3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix16CD,iy16D0);
          real4 v316CC#1 = LoadVoxels<IMAGE2D<int>,4>(a16D3);
          real fy16F4#4 = Index<real2,1>(f16C5);
          real r16FC#1 = 0.1e1;
          real t316F9#1 = Add<real>(fy16F4,r16FC);
          real t216F8#1 = fy16F4;
          real r16FB#1 = 0.1e1;
          real t116F7#1 = Sub<real>(fy16F4,r16FB);
          real r16FA#1 = 0.2e1;
          real t016F6#1 = Sub<real>(fy16F4,r16FA);
          real4 a16F5#1 = <real4>[t316F9,t216F8,t116F7,t016F6];
          real4 hy16EA#1 = EvalKernel<4,bspln3,0>(a16F5);
          real fx16EB#4 = Index<real2,0>(f16C5);
          real r16F3#1 = 0.1e1;
          real t316F0#1 = Add<real>(fx16EB,r16F3);
          real t216EF#1 = fx16EB;
          real r16F2#1 = 0.1e1;
          real t116EE#1 = Sub<real>(fx16EB,r16F2);
          real r16F1#1 = 0.2e1;
          real t016ED#1 = Sub<real>(fx16EB,r16F1);
          real4 a16EC#1 = <real4>[t316F0,t216EF,t116EE,t016ED];
          real4 hx16E9#4 = EvalKernel<4,bspln3,0>(a16EC);
          real t016FE#1 = Dot<4>(v016C9,hx16E9);
          real t116FF#1 = Dot<4>(v116CA,hx16E9);
          real t21700#1 = Dot<4>(v216CB,hx16E9);
          real t31701#1 = Dot<4>(v316CC,hx16E9);
          real4 tv16FD#1 = <real4>[t016FE,t116FF,t21700,t31701];
          real _t16C3#1 = Dot<4>(hy16EA,tv16FD);
          real _t1740#2 = Sub<real>(_t1646,_t16C3);
          real _t1742#1 = Mul<real>(_t1740,_t1740);
          real score1744#1 = Add<real>(score162F,_t1742);
          goto JOIN1747
        JOIN1747:  preds = [ASSIGN1745,COND1645]
          real score1746#2 = phi(score1744,score162F)
          real _t1748#1 = Dot<2>(r00D67,v090CEF);
          real _t174A#1 = Dot<2>(r10D6D,v090CEF);
          real2 _t174C#1 = <real2>[_t1748,_t174A];
          real2 pos174E#2 = Add<real2>(_t174C,_t0D7D);
          real2 x1751#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos174E);
          bool _t1750#1 = Inside<IMAGE2D<float>,2>(x1751,_t0CD1);
          if _t1750 then goto ASSIGN1757 else goto ASSIGN28CD
        ASSIGN1757:  preds = [COND1754]
          real2 x1756#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v090CEF);
          bool _t1755#1 = Inside<IMAGE2D<int>,2>(x1756,_t0CCD);
          goto JOIN175B
        JOIN175B:  preds = [ASSIGN1758,ASSIGN28CD]
          bool _t1759#1 = phi(_t1755,_t175A)
          if _t1759 then goto ASSIGN179C else goto JOIN185E
        ASSIGN179C:  preds = [COND175C]
          real2 x175E#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos174E);
          real2 nd1760#2 = Floor<2>(x175E);
          real2 f175F#2 = Sub<real2>(x175E,nd1760);
          int{2} n1761#8 = RealToInt<2>(nd1760);
          int t1177D#1 = -1;
          int t2177E#1 = Index<int{2},0>(n1761);
          int ix177C#1 = Add<int>(t1177D,t2177E);
          int t11780#1 = -1;
          int t21781#1 = Index<int{2},1>(n1761);
          int iy177F#1 = Add<int>(t11780,t21781);
          addr(IMAGE2D<float>) a1782#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix177C,iy177F);
          real4 v01763#1 = LoadVoxels<IMAGE2D<float>,4>(a1782);
          int t11776#1 = -1;
          int t21777#1 = Index<int{2},0>(n1761);
          int ix1775#1 = Add<int>(t11776,t21777);
          int t11779#1 = 0;
          int t2177A#1 = Index<int{2},1>(n1761);
          int iy1778#1 = Add<int>(t11779,t2177A);
          addr(IMAGE2D<float>) a177B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1775,iy1778);
          real4 v11764#1 = LoadVoxels<IMAGE2D<float>,4>(a177B);
          int t1176F#1 = -1;
          int t21770#1 = Index<int{2},0>(n1761);
          int ix176E#1 = Add<int>(t1176F,t21770);
          int t11772#1 = 1;
          int t21773#1 = Index<int{2},1>(n1761);
          int iy1771#1 = Add<int>(t11772,t21773);
          addr(IMAGE2D<float>) a1774#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix176E,iy1771);
          real4 v21765#1 = LoadVoxels<IMAGE2D<float>,4>(a1774);
          int t11768#1 = -1;
          int t21769#1 = Index<int{2},0>(n1761);
          int ix1767#1 = Add<int>(t11768,t21769);
          int t1176B#1 = 2;
          int t2176C#1 = Index<int{2},1>(n1761);
          int iy176A#1 = Add<int>(t1176B,t2176C);
          addr(IMAGE2D<float>) a176D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1767,iy176A);
          real4 v31766#1 = LoadVoxels<IMAGE2D<float>,4>(a176D);
          real fy178E#4 = Index<real2,1>(f175F);
          real r1796#1 = 0.1e1;
          real t31793#1 = Add<real>(fy178E,r1796);
          real t21792#1 = fy178E;
          real r1795#1 = 0.1e1;
          real t11791#1 = Sub<real>(fy178E,r1795);
          real r1794#1 = 0.2e1;
          real t01790#1 = Sub<real>(fy178E,r1794);
          real4 a178F#1 = <real4>[t31793,t21792,t11791,t01790];
          real4 hy1784#1 = EvalKernel<4,bspln3,0>(a178F);
          real fx1785#4 = Index<real2,0>(f175F);
          real r178D#1 = 0.1e1;
          real t3178A#1 = Add<real>(fx1785,r178D);
          real t21789#1 = fx1785;
          real r178C#1 = 0.1e1;
          real t11788#1 = Sub<real>(fx1785,r178C);
          real r178B#1 = 0.2e1;
          real t01787#1 = Sub<real>(fx1785,r178B);
          real4 a1786#1 = <real4>[t3178A,t21789,t11788,t01787];
          real4 hx1783#4 = EvalKernel<4,bspln3,0>(a1786);
          real t01798#1 = Dot<4>(v01763,hx1783);
          real t11799#1 = Dot<4>(v11764,hx1783);
          real t2179A#1 = Dot<4>(v21765,hx1783);
          real t3179B#1 = Dot<4>(v31766,hx1783);
          real4 tv1797#1 = <real4>[t01798,t11799,t2179A,t3179B];
          real _t175D#1 = Dot<4>(hy1784,tv1797);
          real2 x17DB#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v090CEF);
          real2 nd17DD#2 = Floor<2>(x17DB);
          real2 f17DC#2 = Sub<real2>(x17DB,nd17DD);
          int{2} n17DE#8 = RealToInt<2>(nd17DD);
          int t117FA#1 = -1;
          int t217FB#1 = Index<int{2},0>(n17DE);
          int ix17F9#1 = Add<int>(t117FA,t217FB);
          int t117FD#1 = -1;
          int t217FE#1 = Index<int{2},1>(n17DE);
          int iy17FC#1 = Add<int>(t117FD,t217FE);
          addr(IMAGE2D<int>) a17FF#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix17F9,iy17FC);
          real4 v017E0#1 = LoadVoxels<IMAGE2D<int>,4>(a17FF);
          int t117F3#1 = -1;
          int t217F4#1 = Index<int{2},0>(n17DE);
          int ix17F2#1 = Add<int>(t117F3,t217F4);
          int t117F6#1 = 0;
          int t217F7#1 = Index<int{2},1>(n17DE);
          int iy17F5#1 = Add<int>(t117F6,t217F7);
          addr(IMAGE2D<int>) a17F8#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix17F2,iy17F5);
          real4 v117E1#1 = LoadVoxels<IMAGE2D<int>,4>(a17F8);
          int t117EC#1 = -1;
          int t217ED#1 = Index<int{2},0>(n17DE);
          int ix17EB#1 = Add<int>(t117EC,t217ED);
          int t117EF#1 = 1;
          int t217F0#1 = Index<int{2},1>(n17DE);
          int iy17EE#1 = Add<int>(t117EF,t217F0);
          addr(IMAGE2D<int>) a17F1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix17EB,iy17EE);
          real4 v217E2#1 = LoadVoxels<IMAGE2D<int>,4>(a17F1);
          int t117E5#1 = -1;
          int t217E6#1 = Index<int{2},0>(n17DE);
          int ix17E4#1 = Add<int>(t117E5,t217E6);
          int t117E8#1 = 2;
          int t217E9#1 = Index<int{2},1>(n17DE);
          int iy17E7#1 = Add<int>(t117E8,t217E9);
          addr(IMAGE2D<int>) a17EA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix17E4,iy17E7);
          real4 v317E3#1 = LoadVoxels<IMAGE2D<int>,4>(a17EA);
          real fy180B#4 = Index<real2,1>(f17DC);
          real r1813#1 = 0.1e1;
          real t31810#1 = Add<real>(fy180B,r1813);
          real t2180F#1 = fy180B;
          real r1812#1 = 0.1e1;
          real t1180E#1 = Sub<real>(fy180B,r1812);
          real r1811#1 = 0.2e1;
          real t0180D#1 = Sub<real>(fy180B,r1811);
          real4 a180C#1 = <real4>[t31810,t2180F,t1180E,t0180D];
          real4 hy1801#1 = EvalKernel<4,bspln3,0>(a180C);
          real fx1802#4 = Index<real2,0>(f17DC);
          real r180A#1 = 0.1e1;
          real t31807#1 = Add<real>(fx1802,r180A);
          real t21806#1 = fx1802;
          real r1809#1 = 0.1e1;
          real t11805#1 = Sub<real>(fx1802,r1809);
          real r1808#1 = 0.2e1;
          real t01804#1 = Sub<real>(fx1802,r1808);
          real4 a1803#1 = <real4>[t31807,t21806,t11805,t01804];
          real4 hx1800#4 = EvalKernel<4,bspln3,0>(a1803);
          real t01815#1 = Dot<4>(v017E0,hx1800);
          real t11816#1 = Dot<4>(v117E1,hx1800);
          real t21817#1 = Dot<4>(v217E2,hx1800);
          real t31818#1 = Dot<4>(v317E3,hx1800);
          real4 tv1814#1 = <real4>[t01815,t11816,t21817,t31818];
          real _t17DA#1 = Dot<4>(hy1801,tv1814);
          real _t1857#2 = Sub<real>(_t175D,_t17DA);
          real _t1859#1 = Mul<real>(_t1857,_t1857);
          real score185B#1 = Add<real>(score1746,_t1859);
          goto JOIN185E
        JOIN185E:  preds = [ASSIGN185C,COND175C]
          real score185D#2 = phi(score185B,score1746)
          real _t185F#1 = Dot<2>(r00D67,v100CF1);
          real _t1861#1 = Dot<2>(r10D6D,v100CF1);
          real2 _t1863#1 = <real2>[_t185F,_t1861];
          real2 pos1865#2 = Add<real2>(_t1863,_t0D7D);
          real2 x1868#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1865);
          bool _t1867#1 = Inside<IMAGE2D<float>,2>(x1868,_t0CD1);
          if _t1867 then goto ASSIGN186E else goto ASSIGN28CC
        ASSIGN186E:  preds = [COND186B]
          real2 x186D#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v100CF1);
          bool _t186C#1 = Inside<IMAGE2D<int>,2>(x186D,_t0CCD);
          goto JOIN1872
        JOIN1872:  preds = [ASSIGN186F,ASSIGN28CC]
          bool _t1870#1 = phi(_t186C,_t1871)
          if _t1870 then goto ASSIGN18B3 else goto JOIN1975
        ASSIGN18B3:  preds = [COND1873]
          real2 x1875#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1865);
          real2 nd1877#2 = Floor<2>(x1875);
          real2 f1876#2 = Sub<real2>(x1875,nd1877);
          int{2} n1878#8 = RealToInt<2>(nd1877);
          int t11894#1 = -1;
          int t21895#1 = Index<int{2},0>(n1878);
          int ix1893#1 = Add<int>(t11894,t21895);
          int t11897#1 = -1;
          int t21898#1 = Index<int{2},1>(n1878);
          int iy1896#1 = Add<int>(t11897,t21898);
          addr(IMAGE2D<float>) a1899#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1893,iy1896);
          real4 v0187A#1 = LoadVoxels<IMAGE2D<float>,4>(a1899);
          int t1188D#1 = -1;
          int t2188E#1 = Index<int{2},0>(n1878);
          int ix188C#1 = Add<int>(t1188D,t2188E);
          int t11890#1 = 0;
          int t21891#1 = Index<int{2},1>(n1878);
          int iy188F#1 = Add<int>(t11890,t21891);
          addr(IMAGE2D<float>) a1892#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix188C,iy188F);
          real4 v1187B#1 = LoadVoxels<IMAGE2D<float>,4>(a1892);
          int t11886#1 = -1;
          int t21887#1 = Index<int{2},0>(n1878);
          int ix1885#1 = Add<int>(t11886,t21887);
          int t11889#1 = 1;
          int t2188A#1 = Index<int{2},1>(n1878);
          int iy1888#1 = Add<int>(t11889,t2188A);
          addr(IMAGE2D<float>) a188B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1885,iy1888);
          real4 v2187C#1 = LoadVoxels<IMAGE2D<float>,4>(a188B);
          int t1187F#1 = -1;
          int t21880#1 = Index<int{2},0>(n1878);
          int ix187E#1 = Add<int>(t1187F,t21880);
          int t11882#1 = 2;
          int t21883#1 = Index<int{2},1>(n1878);
          int iy1881#1 = Add<int>(t11882,t21883);
          addr(IMAGE2D<float>) a1884#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix187E,iy1881);
          real4 v3187D#1 = LoadVoxels<IMAGE2D<float>,4>(a1884);
          real fy18A5#4 = Index<real2,1>(f1876);
          real r18AD#1 = 0.1e1;
          real t318AA#1 = Add<real>(fy18A5,r18AD);
          real t218A9#1 = fy18A5;
          real r18AC#1 = 0.1e1;
          real t118A8#1 = Sub<real>(fy18A5,r18AC);
          real r18AB#1 = 0.2e1;
          real t018A7#1 = Sub<real>(fy18A5,r18AB);
          real4 a18A6#1 = <real4>[t318AA,t218A9,t118A8,t018A7];
          real4 hy189B#1 = EvalKernel<4,bspln3,0>(a18A6);
          real fx189C#4 = Index<real2,0>(f1876);
          real r18A4#1 = 0.1e1;
          real t318A1#1 = Add<real>(fx189C,r18A4);
          real t218A0#1 = fx189C;
          real r18A3#1 = 0.1e1;
          real t1189F#1 = Sub<real>(fx189C,r18A3);
          real r18A2#1 = 0.2e1;
          real t0189E#1 = Sub<real>(fx189C,r18A2);
          real4 a189D#1 = <real4>[t318A1,t218A0,t1189F,t0189E];
          real4 hx189A#4 = EvalKernel<4,bspln3,0>(a189D);
          real t018AF#1 = Dot<4>(v0187A,hx189A);
          real t118B0#1 = Dot<4>(v1187B,hx189A);
          real t218B1#1 = Dot<4>(v2187C,hx189A);
          real t318B2#1 = Dot<4>(v3187D,hx189A);
          real4 tv18AE#1 = <real4>[t018AF,t118B0,t218B1,t318B2];
          real _t1874#1 = Dot<4>(hy189B,tv18AE);
          real2 x18F2#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v100CF1);
          real2 nd18F4#2 = Floor<2>(x18F2);
          real2 f18F3#2 = Sub<real2>(x18F2,nd18F4);
          int{2} n18F5#8 = RealToInt<2>(nd18F4);
          int t11911#1 = -1;
          int t21912#1 = Index<int{2},0>(n18F5);
          int ix1910#1 = Add<int>(t11911,t21912);
          int t11914#1 = -1;
          int t21915#1 = Index<int{2},1>(n18F5);
          int iy1913#1 = Add<int>(t11914,t21915);
          addr(IMAGE2D<int>) a1916#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1910,iy1913);
          real4 v018F7#1 = LoadVoxels<IMAGE2D<int>,4>(a1916);
          int t1190A#1 = -1;
          int t2190B#1 = Index<int{2},0>(n18F5);
          int ix1909#1 = Add<int>(t1190A,t2190B);
          int t1190D#1 = 0;
          int t2190E#1 = Index<int{2},1>(n18F5);
          int iy190C#1 = Add<int>(t1190D,t2190E);
          addr(IMAGE2D<int>) a190F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1909,iy190C);
          real4 v118F8#1 = LoadVoxels<IMAGE2D<int>,4>(a190F);
          int t11903#1 = -1;
          int t21904#1 = Index<int{2},0>(n18F5);
          int ix1902#1 = Add<int>(t11903,t21904);
          int t11906#1 = 1;
          int t21907#1 = Index<int{2},1>(n18F5);
          int iy1905#1 = Add<int>(t11906,t21907);
          addr(IMAGE2D<int>) a1908#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1902,iy1905);
          real4 v218F9#1 = LoadVoxels<IMAGE2D<int>,4>(a1908);
          int t118FC#1 = -1;
          int t218FD#1 = Index<int{2},0>(n18F5);
          int ix18FB#1 = Add<int>(t118FC,t218FD);
          int t118FF#1 = 2;
          int t21900#1 = Index<int{2},1>(n18F5);
          int iy18FE#1 = Add<int>(t118FF,t21900);
          addr(IMAGE2D<int>) a1901#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix18FB,iy18FE);
          real4 v318FA#1 = LoadVoxels<IMAGE2D<int>,4>(a1901);
          real fy1922#4 = Index<real2,1>(f18F3);
          real r192A#1 = 0.1e1;
          real t31927#1 = Add<real>(fy1922,r192A);
          real t21926#1 = fy1922;
          real r1929#1 = 0.1e1;
          real t11925#1 = Sub<real>(fy1922,r1929);
          real r1928#1 = 0.2e1;
          real t01924#1 = Sub<real>(fy1922,r1928);
          real4 a1923#1 = <real4>[t31927,t21926,t11925,t01924];
          real4 hy1918#1 = EvalKernel<4,bspln3,0>(a1923);
          real fx1919#4 = Index<real2,0>(f18F3);
          real r1921#1 = 0.1e1;
          real t3191E#1 = Add<real>(fx1919,r1921);
          real t2191D#1 = fx1919;
          real r1920#1 = 0.1e1;
          real t1191C#1 = Sub<real>(fx1919,r1920);
          real r191F#1 = 0.2e1;
          real t0191B#1 = Sub<real>(fx1919,r191F);
          real4 a191A#1 = <real4>[t3191E,t2191D,t1191C,t0191B];
          real4 hx1917#4 = EvalKernel<4,bspln3,0>(a191A);
          real t0192C#1 = Dot<4>(v018F7,hx1917);
          real t1192D#1 = Dot<4>(v118F8,hx1917);
          real t2192E#1 = Dot<4>(v218F9,hx1917);
          real t3192F#1 = Dot<4>(v318FA,hx1917);
          real4 tv192B#1 = <real4>[t0192C,t1192D,t2192E,t3192F];
          real _t18F1#1 = Dot<4>(hy1918,tv192B);
          real _t196E#2 = Sub<real>(_t1874,_t18F1);
          real _t1970#1 = Mul<real>(_t196E,_t196E);
          real score1972#1 = Add<real>(score185D,_t1970);
          goto JOIN1975
        JOIN1975:  preds = [ASSIGN1973,COND1873]
          real score1974#2 = phi(score1972,score185D)
          real _t1976#1 = Dot<2>(r00D67,v110CF3);
          real _t1978#1 = Dot<2>(r10D6D,v110CF3);
          real2 _t197A#1 = <real2>[_t1976,_t1978];
          real2 pos197C#2 = Add<real2>(_t197A,_t0D7D);
          real2 x197F#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos197C);
          bool _t197E#1 = Inside<IMAGE2D<float>,2>(x197F,_t0CD1);
          if _t197E then goto ASSIGN1985 else goto ASSIGN28CB
        ASSIGN1985:  preds = [COND1982]
          real2 x1984#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v110CF3);
          bool _t1983#1 = Inside<IMAGE2D<int>,2>(x1984,_t0CCD);
          goto JOIN1989
        JOIN1989:  preds = [ASSIGN1986,ASSIGN28CB]
          bool _t1987#1 = phi(_t1983,_t1988)
          if _t1987 then goto ASSIGN19CA else goto JOIN1A8C
        ASSIGN19CA:  preds = [COND198A]
          real2 x198C#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos197C);
          real2 nd198E#2 = Floor<2>(x198C);
          real2 f198D#2 = Sub<real2>(x198C,nd198E);
          int{2} n198F#8 = RealToInt<2>(nd198E);
          int t119AB#1 = -1;
          int t219AC#1 = Index<int{2},0>(n198F);
          int ix19AA#1 = Add<int>(t119AB,t219AC);
          int t119AE#1 = -1;
          int t219AF#1 = Index<int{2},1>(n198F);
          int iy19AD#1 = Add<int>(t119AE,t219AF);
          addr(IMAGE2D<float>) a19B0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix19AA,iy19AD);
          real4 v01991#1 = LoadVoxels<IMAGE2D<float>,4>(a19B0);
          int t119A4#1 = -1;
          int t219A5#1 = Index<int{2},0>(n198F);
          int ix19A3#1 = Add<int>(t119A4,t219A5);
          int t119A7#1 = 0;
          int t219A8#1 = Index<int{2},1>(n198F);
          int iy19A6#1 = Add<int>(t119A7,t219A8);
          addr(IMAGE2D<float>) a19A9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix19A3,iy19A6);
          real4 v11992#1 = LoadVoxels<IMAGE2D<float>,4>(a19A9);
          int t1199D#1 = -1;
          int t2199E#1 = Index<int{2},0>(n198F);
          int ix199C#1 = Add<int>(t1199D,t2199E);
          int t119A0#1 = 1;
          int t219A1#1 = Index<int{2},1>(n198F);
          int iy199F#1 = Add<int>(t119A0,t219A1);
          addr(IMAGE2D<float>) a19A2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix199C,iy199F);
          real4 v21993#1 = LoadVoxels<IMAGE2D<float>,4>(a19A2);
          int t11996#1 = -1;
          int t21997#1 = Index<int{2},0>(n198F);
          int ix1995#1 = Add<int>(t11996,t21997);
          int t11999#1 = 2;
          int t2199A#1 = Index<int{2},1>(n198F);
          int iy1998#1 = Add<int>(t11999,t2199A);
          addr(IMAGE2D<float>) a199B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1995,iy1998);
          real4 v31994#1 = LoadVoxels<IMAGE2D<float>,4>(a199B);
          real fy19BC#4 = Index<real2,1>(f198D);
          real r19C4#1 = 0.1e1;
          real t319C1#1 = Add<real>(fy19BC,r19C4);
          real t219C0#1 = fy19BC;
          real r19C3#1 = 0.1e1;
          real t119BF#1 = Sub<real>(fy19BC,r19C3);
          real r19C2#1 = 0.2e1;
          real t019BE#1 = Sub<real>(fy19BC,r19C2);
          real4 a19BD#1 = <real4>[t319C1,t219C0,t119BF,t019BE];
          real4 hy19B2#1 = EvalKernel<4,bspln3,0>(a19BD);
          real fx19B3#4 = Index<real2,0>(f198D);
          real r19BB#1 = 0.1e1;
          real t319B8#1 = Add<real>(fx19B3,r19BB);
          real t219B7#1 = fx19B3;
          real r19BA#1 = 0.1e1;
          real t119B6#1 = Sub<real>(fx19B3,r19BA);
          real r19B9#1 = 0.2e1;
          real t019B5#1 = Sub<real>(fx19B3,r19B9);
          real4 a19B4#1 = <real4>[t319B8,t219B7,t119B6,t019B5];
          real4 hx19B1#4 = EvalKernel<4,bspln3,0>(a19B4);
          real t019C6#1 = Dot<4>(v01991,hx19B1);
          real t119C7#1 = Dot<4>(v11992,hx19B1);
          real t219C8#1 = Dot<4>(v21993,hx19B1);
          real t319C9#1 = Dot<4>(v31994,hx19B1);
          real4 tv19C5#1 = <real4>[t019C6,t119C7,t219C8,t319C9];
          real _t198B#1 = Dot<4>(hy19B2,tv19C5);
          real2 x1A09#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v110CF3);
          real2 nd1A0B#2 = Floor<2>(x1A09);
          real2 f1A0A#2 = Sub<real2>(x1A09,nd1A0B);
          int{2} n1A0C#8 = RealToInt<2>(nd1A0B);
          int t11A28#1 = -1;
          int t21A29#1 = Index<int{2},0>(n1A0C);
          int ix1A27#1 = Add<int>(t11A28,t21A29);
          int t11A2B#1 = -1;
          int t21A2C#1 = Index<int{2},1>(n1A0C);
          int iy1A2A#1 = Add<int>(t11A2B,t21A2C);
          addr(IMAGE2D<int>) a1A2D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1A27,iy1A2A);
          real4 v01A0E#1 = LoadVoxels<IMAGE2D<int>,4>(a1A2D);
          int t11A21#1 = -1;
          int t21A22#1 = Index<int{2},0>(n1A0C);
          int ix1A20#1 = Add<int>(t11A21,t21A22);
          int t11A24#1 = 0;
          int t21A25#1 = Index<int{2},1>(n1A0C);
          int iy1A23#1 = Add<int>(t11A24,t21A25);
          addr(IMAGE2D<int>) a1A26#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1A20,iy1A23);
          real4 v11A0F#1 = LoadVoxels<IMAGE2D<int>,4>(a1A26);
          int t11A1A#1 = -1;
          int t21A1B#1 = Index<int{2},0>(n1A0C);
          int ix1A19#1 = Add<int>(t11A1A,t21A1B);
          int t11A1D#1 = 1;
          int t21A1E#1 = Index<int{2},1>(n1A0C);
          int iy1A1C#1 = Add<int>(t11A1D,t21A1E);
          addr(IMAGE2D<int>) a1A1F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1A19,iy1A1C);
          real4 v21A10#1 = LoadVoxels<IMAGE2D<int>,4>(a1A1F);
          int t11A13#1 = -1;
          int t21A14#1 = Index<int{2},0>(n1A0C);
          int ix1A12#1 = Add<int>(t11A13,t21A14);
          int t11A16#1 = 2;
          int t21A17#1 = Index<int{2},1>(n1A0C);
          int iy1A15#1 = Add<int>(t11A16,t21A17);
          addr(IMAGE2D<int>) a1A18#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1A12,iy1A15);
          real4 v31A11#1 = LoadVoxels<IMAGE2D<int>,4>(a1A18);
          real fy1A39#4 = Index<real2,1>(f1A0A);
          real r1A41#1 = 0.1e1;
          real t31A3E#1 = Add<real>(fy1A39,r1A41);
          real t21A3D#1 = fy1A39;
          real r1A40#1 = 0.1e1;
          real t11A3C#1 = Sub<real>(fy1A39,r1A40);
          real r1A3F#1 = 0.2e1;
          real t01A3B#1 = Sub<real>(fy1A39,r1A3F);
          real4 a1A3A#1 = <real4>[t31A3E,t21A3D,t11A3C,t01A3B];
          real4 hy1A2F#1 = EvalKernel<4,bspln3,0>(a1A3A);
          real fx1A30#4 = Index<real2,0>(f1A0A);
          real r1A38#1 = 0.1e1;
          real t31A35#1 = Add<real>(fx1A30,r1A38);
          real t21A34#1 = fx1A30;
          real r1A37#1 = 0.1e1;
          real t11A33#1 = Sub<real>(fx1A30,r1A37);
          real r1A36#1 = 0.2e1;
          real t01A32#1 = Sub<real>(fx1A30,r1A36);
          real4 a1A31#1 = <real4>[t31A35,t21A34,t11A33,t01A32];
          real4 hx1A2E#4 = EvalKernel<4,bspln3,0>(a1A31);
          real t01A43#1 = Dot<4>(v01A0E,hx1A2E);
          real t11A44#1 = Dot<4>(v11A0F,hx1A2E);
          real t21A45#1 = Dot<4>(v21A10,hx1A2E);
          real t31A46#1 = Dot<4>(v31A11,hx1A2E);
          real4 tv1A42#1 = <real4>[t01A43,t11A44,t21A45,t31A46];
          real _t1A08#1 = Dot<4>(hy1A2F,tv1A42);
          real _t1A85#2 = Sub<real>(_t198B,_t1A08);
          real _t1A87#1 = Mul<real>(_t1A85,_t1A85);
          real score1A89#1 = Add<real>(score1974,_t1A87);
          goto JOIN1A8C
        JOIN1A8C:  preds = [ASSIGN1A8A,COND198A]
          real score1A8B#2 = phi(score1A89,score1974)
          real _t1A8D#1 = Dot<2>(r00D67,v120CF5);
          real _t1A8F#1 = Dot<2>(r10D6D,v120CF5);
          real2 _t1A91#1 = <real2>[_t1A8D,_t1A8F];
          real2 pos1A93#2 = Add<real2>(_t1A91,_t0D7D);
          real2 x1A96#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1A93);
          bool _t1A95#1 = Inside<IMAGE2D<float>,2>(x1A96,_t0CD1);
          if _t1A95 then goto ASSIGN1A9C else goto ASSIGN28CA
        ASSIGN1A9C:  preds = [COND1A99]
          real2 x1A9B#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v120CF5);
          bool _t1A9A#1 = Inside<IMAGE2D<int>,2>(x1A9B,_t0CCD);
          goto JOIN1AA0
        JOIN1AA0:  preds = [ASSIGN1A9D,ASSIGN28CA]
          bool _t1A9E#1 = phi(_t1A9A,_t1A9F)
          if _t1A9E then goto ASSIGN1AE1 else goto JOIN1BA3
        ASSIGN1AE1:  preds = [COND1AA1]
          real2 x1AA3#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1A93);
          real2 nd1AA5#2 = Floor<2>(x1AA3);
          real2 f1AA4#2 = Sub<real2>(x1AA3,nd1AA5);
          int{2} n1AA6#8 = RealToInt<2>(nd1AA5);
          int t11AC2#1 = -1;
          int t21AC3#1 = Index<int{2},0>(n1AA6);
          int ix1AC1#1 = Add<int>(t11AC2,t21AC3);
          int t11AC5#1 = -1;
          int t21AC6#1 = Index<int{2},1>(n1AA6);
          int iy1AC4#1 = Add<int>(t11AC5,t21AC6);
          addr(IMAGE2D<float>) a1AC7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1AC1,iy1AC4);
          real4 v01AA8#1 = LoadVoxels<IMAGE2D<float>,4>(a1AC7);
          int t11ABB#1 = -1;
          int t21ABC#1 = Index<int{2},0>(n1AA6);
          int ix1ABA#1 = Add<int>(t11ABB,t21ABC);
          int t11ABE#1 = 0;
          int t21ABF#1 = Index<int{2},1>(n1AA6);
          int iy1ABD#1 = Add<int>(t11ABE,t21ABF);
          addr(IMAGE2D<float>) a1AC0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1ABA,iy1ABD);
          real4 v11AA9#1 = LoadVoxels<IMAGE2D<float>,4>(a1AC0);
          int t11AB4#1 = -1;
          int t21AB5#1 = Index<int{2},0>(n1AA6);
          int ix1AB3#1 = Add<int>(t11AB4,t21AB5);
          int t11AB7#1 = 1;
          int t21AB8#1 = Index<int{2},1>(n1AA6);
          int iy1AB6#1 = Add<int>(t11AB7,t21AB8);
          addr(IMAGE2D<float>) a1AB9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1AB3,iy1AB6);
          real4 v21AAA#1 = LoadVoxels<IMAGE2D<float>,4>(a1AB9);
          int t11AAD#1 = -1;
          int t21AAE#1 = Index<int{2},0>(n1AA6);
          int ix1AAC#1 = Add<int>(t11AAD,t21AAE);
          int t11AB0#1 = 2;
          int t21AB1#1 = Index<int{2},1>(n1AA6);
          int iy1AAF#1 = Add<int>(t11AB0,t21AB1);
          addr(IMAGE2D<float>) a1AB2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1AAC,iy1AAF);
          real4 v31AAB#1 = LoadVoxels<IMAGE2D<float>,4>(a1AB2);
          real fy1AD3#4 = Index<real2,1>(f1AA4);
          real r1ADB#1 = 0.1e1;
          real t31AD8#1 = Add<real>(fy1AD3,r1ADB);
          real t21AD7#1 = fy1AD3;
          real r1ADA#1 = 0.1e1;
          real t11AD6#1 = Sub<real>(fy1AD3,r1ADA);
          real r1AD9#1 = 0.2e1;
          real t01AD5#1 = Sub<real>(fy1AD3,r1AD9);
          real4 a1AD4#1 = <real4>[t31AD8,t21AD7,t11AD6,t01AD5];
          real4 hy1AC9#1 = EvalKernel<4,bspln3,0>(a1AD4);
          real fx1ACA#4 = Index<real2,0>(f1AA4);
          real r1AD2#1 = 0.1e1;
          real t31ACF#1 = Add<real>(fx1ACA,r1AD2);
          real t21ACE#1 = fx1ACA;
          real r1AD1#1 = 0.1e1;
          real t11ACD#1 = Sub<real>(fx1ACA,r1AD1);
          real r1AD0#1 = 0.2e1;
          real t01ACC#1 = Sub<real>(fx1ACA,r1AD0);
          real4 a1ACB#1 = <real4>[t31ACF,t21ACE,t11ACD,t01ACC];
          real4 hx1AC8#4 = EvalKernel<4,bspln3,0>(a1ACB);
          real t01ADD#1 = Dot<4>(v01AA8,hx1AC8);
          real t11ADE#1 = Dot<4>(v11AA9,hx1AC8);
          real t21ADF#1 = Dot<4>(v21AAA,hx1AC8);
          real t31AE0#1 = Dot<4>(v31AAB,hx1AC8);
          real4 tv1ADC#1 = <real4>[t01ADD,t11ADE,t21ADF,t31AE0];
          real _t1AA2#1 = Dot<4>(hy1AC9,tv1ADC);
          real2 x1B20#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v120CF5);
          real2 nd1B22#2 = Floor<2>(x1B20);
          real2 f1B21#2 = Sub<real2>(x1B20,nd1B22);
          int{2} n1B23#8 = RealToInt<2>(nd1B22);
          int t11B3F#1 = -1;
          int t21B40#1 = Index<int{2},0>(n1B23);
          int ix1B3E#1 = Add<int>(t11B3F,t21B40);
          int t11B42#1 = -1;
          int t21B43#1 = Index<int{2},1>(n1B23);
          int iy1B41#1 = Add<int>(t11B42,t21B43);
          addr(IMAGE2D<int>) a1B44#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1B3E,iy1B41);
          real4 v01B25#1 = LoadVoxels<IMAGE2D<int>,4>(a1B44);
          int t11B38#1 = -1;
          int t21B39#1 = Index<int{2},0>(n1B23);
          int ix1B37#1 = Add<int>(t11B38,t21B39);
          int t11B3B#1 = 0;
          int t21B3C#1 = Index<int{2},1>(n1B23);
          int iy1B3A#1 = Add<int>(t11B3B,t21B3C);
          addr(IMAGE2D<int>) a1B3D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1B37,iy1B3A);
          real4 v11B26#1 = LoadVoxels<IMAGE2D<int>,4>(a1B3D);
          int t11B31#1 = -1;
          int t21B32#1 = Index<int{2},0>(n1B23);
          int ix1B30#1 = Add<int>(t11B31,t21B32);
          int t11B34#1 = 1;
          int t21B35#1 = Index<int{2},1>(n1B23);
          int iy1B33#1 = Add<int>(t11B34,t21B35);
          addr(IMAGE2D<int>) a1B36#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1B30,iy1B33);
          real4 v21B27#1 = LoadVoxels<IMAGE2D<int>,4>(a1B36);
          int t11B2A#1 = -1;
          int t21B2B#1 = Index<int{2},0>(n1B23);
          int ix1B29#1 = Add<int>(t11B2A,t21B2B);
          int t11B2D#1 = 2;
          int t21B2E#1 = Index<int{2},1>(n1B23);
          int iy1B2C#1 = Add<int>(t11B2D,t21B2E);
          addr(IMAGE2D<int>) a1B2F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1B29,iy1B2C);
          real4 v31B28#1 = LoadVoxels<IMAGE2D<int>,4>(a1B2F);
          real fy1B50#4 = Index<real2,1>(f1B21);
          real r1B58#1 = 0.1e1;
          real t31B55#1 = Add<real>(fy1B50,r1B58);
          real t21B54#1 = fy1B50;
          real r1B57#1 = 0.1e1;
          real t11B53#1 = Sub<real>(fy1B50,r1B57);
          real r1B56#1 = 0.2e1;
          real t01B52#1 = Sub<real>(fy1B50,r1B56);
          real4 a1B51#1 = <real4>[t31B55,t21B54,t11B53,t01B52];
          real4 hy1B46#1 = EvalKernel<4,bspln3,0>(a1B51);
          real fx1B47#4 = Index<real2,0>(f1B21);
          real r1B4F#1 = 0.1e1;
          real t31B4C#1 = Add<real>(fx1B47,r1B4F);
          real t21B4B#1 = fx1B47;
          real r1B4E#1 = 0.1e1;
          real t11B4A#1 = Sub<real>(fx1B47,r1B4E);
          real r1B4D#1 = 0.2e1;
          real t01B49#1 = Sub<real>(fx1B47,r1B4D);
          real4 a1B48#1 = <real4>[t31B4C,t21B4B,t11B4A,t01B49];
          real4 hx1B45#4 = EvalKernel<4,bspln3,0>(a1B48);
          real t01B5A#1 = Dot<4>(v01B25,hx1B45);
          real t11B5B#1 = Dot<4>(v11B26,hx1B45);
          real t21B5C#1 = Dot<4>(v21B27,hx1B45);
          real t31B5D#1 = Dot<4>(v31B28,hx1B45);
          real4 tv1B59#1 = <real4>[t01B5A,t11B5B,t21B5C,t31B5D];
          real _t1B1F#1 = Dot<4>(hy1B46,tv1B59);
          real _t1B9C#2 = Sub<real>(_t1AA2,_t1B1F);
          real _t1B9E#1 = Mul<real>(_t1B9C,_t1B9C);
          real score1BA0#1 = Add<real>(score1A8B,_t1B9E);
          goto JOIN1BA3
        JOIN1BA3:  preds = [ASSIGN1BA1,COND1AA1]
          real score1BA2#2 = phi(score1BA0,score1A8B)
          real _t1BA4#1 = Dot<2>(r00D67,v130CF7);
          real _t1BA6#1 = Dot<2>(r10D6D,v130CF7);
          real2 _t1BA8#1 = <real2>[_t1BA4,_t1BA6];
          real2 pos1BAA#2 = Add<real2>(_t1BA8,_t0D7D);
          real2 x1BAD#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1BAA);
          bool _t1BAC#1 = Inside<IMAGE2D<float>,2>(x1BAD,_t0CD1);
          if _t1BAC then goto ASSIGN1BB3 else goto ASSIGN28C9
        ASSIGN1BB3:  preds = [COND1BB0]
          real2 x1BB2#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v130CF7);
          bool _t1BB1#1 = Inside<IMAGE2D<int>,2>(x1BB2,_t0CCD);
          goto JOIN1BB7
        JOIN1BB7:  preds = [ASSIGN1BB4,ASSIGN28C9]
          bool _t1BB5#1 = phi(_t1BB1,_t1BB6)
          if _t1BB5 then goto ASSIGN1BF8 else goto JOIN1CBA
        ASSIGN1BF8:  preds = [COND1BB8]
          real2 x1BBA#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1BAA);
          real2 nd1BBC#2 = Floor<2>(x1BBA);
          real2 f1BBB#2 = Sub<real2>(x1BBA,nd1BBC);
          int{2} n1BBD#8 = RealToInt<2>(nd1BBC);
          int t11BD9#1 = -1;
          int t21BDA#1 = Index<int{2},0>(n1BBD);
          int ix1BD8#1 = Add<int>(t11BD9,t21BDA);
          int t11BDC#1 = -1;
          int t21BDD#1 = Index<int{2},1>(n1BBD);
          int iy1BDB#1 = Add<int>(t11BDC,t21BDD);
          addr(IMAGE2D<float>) a1BDE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1BD8,iy1BDB);
          real4 v01BBF#1 = LoadVoxels<IMAGE2D<float>,4>(a1BDE);
          int t11BD2#1 = -1;
          int t21BD3#1 = Index<int{2},0>(n1BBD);
          int ix1BD1#1 = Add<int>(t11BD2,t21BD3);
          int t11BD5#1 = 0;
          int t21BD6#1 = Index<int{2},1>(n1BBD);
          int iy1BD4#1 = Add<int>(t11BD5,t21BD6);
          addr(IMAGE2D<float>) a1BD7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1BD1,iy1BD4);
          real4 v11BC0#1 = LoadVoxels<IMAGE2D<float>,4>(a1BD7);
          int t11BCB#1 = -1;
          int t21BCC#1 = Index<int{2},0>(n1BBD);
          int ix1BCA#1 = Add<int>(t11BCB,t21BCC);
          int t11BCE#1 = 1;
          int t21BCF#1 = Index<int{2},1>(n1BBD);
          int iy1BCD#1 = Add<int>(t11BCE,t21BCF);
          addr(IMAGE2D<float>) a1BD0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1BCA,iy1BCD);
          real4 v21BC1#1 = LoadVoxels<IMAGE2D<float>,4>(a1BD0);
          int t11BC4#1 = -1;
          int t21BC5#1 = Index<int{2},0>(n1BBD);
          int ix1BC3#1 = Add<int>(t11BC4,t21BC5);
          int t11BC7#1 = 2;
          int t21BC8#1 = Index<int{2},1>(n1BBD);
          int iy1BC6#1 = Add<int>(t11BC7,t21BC8);
          addr(IMAGE2D<float>) a1BC9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1BC3,iy1BC6);
          real4 v31BC2#1 = LoadVoxels<IMAGE2D<float>,4>(a1BC9);
          real fy1BEA#4 = Index<real2,1>(f1BBB);
          real r1BF2#1 = 0.1e1;
          real t31BEF#1 = Add<real>(fy1BEA,r1BF2);
          real t21BEE#1 = fy1BEA;
          real r1BF1#1 = 0.1e1;
          real t11BED#1 = Sub<real>(fy1BEA,r1BF1);
          real r1BF0#1 = 0.2e1;
          real t01BEC#1 = Sub<real>(fy1BEA,r1BF0);
          real4 a1BEB#1 = <real4>[t31BEF,t21BEE,t11BED,t01BEC];
          real4 hy1BE0#1 = EvalKernel<4,bspln3,0>(a1BEB);
          real fx1BE1#4 = Index<real2,0>(f1BBB);
          real r1BE9#1 = 0.1e1;
          real t31BE6#1 = Add<real>(fx1BE1,r1BE9);
          real t21BE5#1 = fx1BE1;
          real r1BE8#1 = 0.1e1;
          real t11BE4#1 = Sub<real>(fx1BE1,r1BE8);
          real r1BE7#1 = 0.2e1;
          real t01BE3#1 = Sub<real>(fx1BE1,r1BE7);
          real4 a1BE2#1 = <real4>[t31BE6,t21BE5,t11BE4,t01BE3];
          real4 hx1BDF#4 = EvalKernel<4,bspln3,0>(a1BE2);
          real t01BF4#1 = Dot<4>(v01BBF,hx1BDF);
          real t11BF5#1 = Dot<4>(v11BC0,hx1BDF);
          real t21BF6#1 = Dot<4>(v21BC1,hx1BDF);
          real t31BF7#1 = Dot<4>(v31BC2,hx1BDF);
          real4 tv1BF3#1 = <real4>[t01BF4,t11BF5,t21BF6,t31BF7];
          real _t1BB9#1 = Dot<4>(hy1BE0,tv1BF3);
          real2 x1C37#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v130CF7);
          real2 nd1C39#2 = Floor<2>(x1C37);
          real2 f1C38#2 = Sub<real2>(x1C37,nd1C39);
          int{2} n1C3A#8 = RealToInt<2>(nd1C39);
          int t11C56#1 = -1;
          int t21C57#1 = Index<int{2},0>(n1C3A);
          int ix1C55#1 = Add<int>(t11C56,t21C57);
          int t11C59#1 = -1;
          int t21C5A#1 = Index<int{2},1>(n1C3A);
          int iy1C58#1 = Add<int>(t11C59,t21C5A);
          addr(IMAGE2D<int>) a1C5B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1C55,iy1C58);
          real4 v01C3C#1 = LoadVoxels<IMAGE2D<int>,4>(a1C5B);
          int t11C4F#1 = -1;
          int t21C50#1 = Index<int{2},0>(n1C3A);
          int ix1C4E#1 = Add<int>(t11C4F,t21C50);
          int t11C52#1 = 0;
          int t21C53#1 = Index<int{2},1>(n1C3A);
          int iy1C51#1 = Add<int>(t11C52,t21C53);
          addr(IMAGE2D<int>) a1C54#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1C4E,iy1C51);
          real4 v11C3D#1 = LoadVoxels<IMAGE2D<int>,4>(a1C54);
          int t11C48#1 = -1;
          int t21C49#1 = Index<int{2},0>(n1C3A);
          int ix1C47#1 = Add<int>(t11C48,t21C49);
          int t11C4B#1 = 1;
          int t21C4C#1 = Index<int{2},1>(n1C3A);
          int iy1C4A#1 = Add<int>(t11C4B,t21C4C);
          addr(IMAGE2D<int>) a1C4D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1C47,iy1C4A);
          real4 v21C3E#1 = LoadVoxels<IMAGE2D<int>,4>(a1C4D);
          int t11C41#1 = -1;
          int t21C42#1 = Index<int{2},0>(n1C3A);
          int ix1C40#1 = Add<int>(t11C41,t21C42);
          int t11C44#1 = 2;
          int t21C45#1 = Index<int{2},1>(n1C3A);
          int iy1C43#1 = Add<int>(t11C44,t21C45);
          addr(IMAGE2D<int>) a1C46#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1C40,iy1C43);
          real4 v31C3F#1 = LoadVoxels<IMAGE2D<int>,4>(a1C46);
          real fy1C67#4 = Index<real2,1>(f1C38);
          real r1C6F#1 = 0.1e1;
          real t31C6C#1 = Add<real>(fy1C67,r1C6F);
          real t21C6B#1 = fy1C67;
          real r1C6E#1 = 0.1e1;
          real t11C6A#1 = Sub<real>(fy1C67,r1C6E);
          real r1C6D#1 = 0.2e1;
          real t01C69#1 = Sub<real>(fy1C67,r1C6D);
          real4 a1C68#1 = <real4>[t31C6C,t21C6B,t11C6A,t01C69];
          real4 hy1C5D#1 = EvalKernel<4,bspln3,0>(a1C68);
          real fx1C5E#4 = Index<real2,0>(f1C38);
          real r1C66#1 = 0.1e1;
          real t31C63#1 = Add<real>(fx1C5E,r1C66);
          real t21C62#1 = fx1C5E;
          real r1C65#1 = 0.1e1;
          real t11C61#1 = Sub<real>(fx1C5E,r1C65);
          real r1C64#1 = 0.2e1;
          real t01C60#1 = Sub<real>(fx1C5E,r1C64);
          real4 a1C5F#1 = <real4>[t31C63,t21C62,t11C61,t01C60];
          real4 hx1C5C#4 = EvalKernel<4,bspln3,0>(a1C5F);
          real t01C71#1 = Dot<4>(v01C3C,hx1C5C);
          real t11C72#1 = Dot<4>(v11C3D,hx1C5C);
          real t21C73#1 = Dot<4>(v21C3E,hx1C5C);
          real t31C74#1 = Dot<4>(v31C3F,hx1C5C);
          real4 tv1C70#1 = <real4>[t01C71,t11C72,t21C73,t31C74];
          real _t1C36#1 = Dot<4>(hy1C5D,tv1C70);
          real _t1CB3#2 = Sub<real>(_t1BB9,_t1C36);
          real _t1CB5#1 = Mul<real>(_t1CB3,_t1CB3);
          real score1CB7#1 = Add<real>(score1BA2,_t1CB5);
          goto JOIN1CBA
        JOIN1CBA:  preds = [ASSIGN1CB8,COND1BB8]
          real score1CB9#2 = phi(score1CB7,score1BA2)
          real _t1CBB#1 = Dot<2>(r00D67,v140CF9);
          real _t1CBD#1 = Dot<2>(r10D6D,v140CF9);
          real2 _t1CBF#1 = <real2>[_t1CBB,_t1CBD];
          real2 pos1CC1#2 = Add<real2>(_t1CBF,_t0D7D);
          real2 x1CC4#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1CC1);
          bool _t1CC3#1 = Inside<IMAGE2D<float>,2>(x1CC4,_t0CD1);
          if _t1CC3 then goto ASSIGN1CCA else goto ASSIGN28C8
        ASSIGN1CCA:  preds = [COND1CC7]
          real2 x1CC9#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v140CF9);
          bool _t1CC8#1 = Inside<IMAGE2D<int>,2>(x1CC9,_t0CCD);
          goto JOIN1CCE
        JOIN1CCE:  preds = [ASSIGN1CCB,ASSIGN28C8]
          bool _t1CCC#1 = phi(_t1CC8,_t1CCD)
          if _t1CCC then goto ASSIGN1D0F else goto JOIN1DD1
        ASSIGN1D0F:  preds = [COND1CCF]
          real2 x1CD1#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1CC1);
          real2 nd1CD3#2 = Floor<2>(x1CD1);
          real2 f1CD2#2 = Sub<real2>(x1CD1,nd1CD3);
          int{2} n1CD4#8 = RealToInt<2>(nd1CD3);
          int t11CF0#1 = -1;
          int t21CF1#1 = Index<int{2},0>(n1CD4);
          int ix1CEF#1 = Add<int>(t11CF0,t21CF1);
          int t11CF3#1 = -1;
          int t21CF4#1 = Index<int{2},1>(n1CD4);
          int iy1CF2#1 = Add<int>(t11CF3,t21CF4);
          addr(IMAGE2D<float>) a1CF5#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1CEF,iy1CF2);
          real4 v01CD6#1 = LoadVoxels<IMAGE2D<float>,4>(a1CF5);
          int t11CE9#1 = -1;
          int t21CEA#1 = Index<int{2},0>(n1CD4);
          int ix1CE8#1 = Add<int>(t11CE9,t21CEA);
          int t11CEC#1 = 0;
          int t21CED#1 = Index<int{2},1>(n1CD4);
          int iy1CEB#1 = Add<int>(t11CEC,t21CED);
          addr(IMAGE2D<float>) a1CEE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1CE8,iy1CEB);
          real4 v11CD7#1 = LoadVoxels<IMAGE2D<float>,4>(a1CEE);
          int t11CE2#1 = -1;
          int t21CE3#1 = Index<int{2},0>(n1CD4);
          int ix1CE1#1 = Add<int>(t11CE2,t21CE3);
          int t11CE5#1 = 1;
          int t21CE6#1 = Index<int{2},1>(n1CD4);
          int iy1CE4#1 = Add<int>(t11CE5,t21CE6);
          addr(IMAGE2D<float>) a1CE7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1CE1,iy1CE4);
          real4 v21CD8#1 = LoadVoxels<IMAGE2D<float>,4>(a1CE7);
          int t11CDB#1 = -1;
          int t21CDC#1 = Index<int{2},0>(n1CD4);
          int ix1CDA#1 = Add<int>(t11CDB,t21CDC);
          int t11CDE#1 = 2;
          int t21CDF#1 = Index<int{2},1>(n1CD4);
          int iy1CDD#1 = Add<int>(t11CDE,t21CDF);
          addr(IMAGE2D<float>) a1CE0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1CDA,iy1CDD);
          real4 v31CD9#1 = LoadVoxels<IMAGE2D<float>,4>(a1CE0);
          real fy1D01#4 = Index<real2,1>(f1CD2);
          real r1D09#1 = 0.1e1;
          real t31D06#1 = Add<real>(fy1D01,r1D09);
          real t21D05#1 = fy1D01;
          real r1D08#1 = 0.1e1;
          real t11D04#1 = Sub<real>(fy1D01,r1D08);
          real r1D07#1 = 0.2e1;
          real t01D03#1 = Sub<real>(fy1D01,r1D07);
          real4 a1D02#1 = <real4>[t31D06,t21D05,t11D04,t01D03];
          real4 hy1CF7#1 = EvalKernel<4,bspln3,0>(a1D02);
          real fx1CF8#4 = Index<real2,0>(f1CD2);
          real r1D00#1 = 0.1e1;
          real t31CFD#1 = Add<real>(fx1CF8,r1D00);
          real t21CFC#1 = fx1CF8;
          real r1CFF#1 = 0.1e1;
          real t11CFB#1 = Sub<real>(fx1CF8,r1CFF);
          real r1CFE#1 = 0.2e1;
          real t01CFA#1 = Sub<real>(fx1CF8,r1CFE);
          real4 a1CF9#1 = <real4>[t31CFD,t21CFC,t11CFB,t01CFA];
          real4 hx1CF6#4 = EvalKernel<4,bspln3,0>(a1CF9);
          real t01D0B#1 = Dot<4>(v01CD6,hx1CF6);
          real t11D0C#1 = Dot<4>(v11CD7,hx1CF6);
          real t21D0D#1 = Dot<4>(v21CD8,hx1CF6);
          real t31D0E#1 = Dot<4>(v31CD9,hx1CF6);
          real4 tv1D0A#1 = <real4>[t01D0B,t11D0C,t21D0D,t31D0E];
          real _t1CD0#1 = Dot<4>(hy1CF7,tv1D0A);
          real2 x1D4E#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v140CF9);
          real2 nd1D50#2 = Floor<2>(x1D4E);
          real2 f1D4F#2 = Sub<real2>(x1D4E,nd1D50);
          int{2} n1D51#8 = RealToInt<2>(nd1D50);
          int t11D6D#1 = -1;
          int t21D6E#1 = Index<int{2},0>(n1D51);
          int ix1D6C#1 = Add<int>(t11D6D,t21D6E);
          int t11D70#1 = -1;
          int t21D71#1 = Index<int{2},1>(n1D51);
          int iy1D6F#1 = Add<int>(t11D70,t21D71);
          addr(IMAGE2D<int>) a1D72#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1D6C,iy1D6F);
          real4 v01D53#1 = LoadVoxels<IMAGE2D<int>,4>(a1D72);
          int t11D66#1 = -1;
          int t21D67#1 = Index<int{2},0>(n1D51);
          int ix1D65#1 = Add<int>(t11D66,t21D67);
          int t11D69#1 = 0;
          int t21D6A#1 = Index<int{2},1>(n1D51);
          int iy1D68#1 = Add<int>(t11D69,t21D6A);
          addr(IMAGE2D<int>) a1D6B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1D65,iy1D68);
          real4 v11D54#1 = LoadVoxels<IMAGE2D<int>,4>(a1D6B);
          int t11D5F#1 = -1;
          int t21D60#1 = Index<int{2},0>(n1D51);
          int ix1D5E#1 = Add<int>(t11D5F,t21D60);
          int t11D62#1 = 1;
          int t21D63#1 = Index<int{2},1>(n1D51);
          int iy1D61#1 = Add<int>(t11D62,t21D63);
          addr(IMAGE2D<int>) a1D64#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1D5E,iy1D61);
          real4 v21D55#1 = LoadVoxels<IMAGE2D<int>,4>(a1D64);
          int t11D58#1 = -1;
          int t21D59#1 = Index<int{2},0>(n1D51);
          int ix1D57#1 = Add<int>(t11D58,t21D59);
          int t11D5B#1 = 2;
          int t21D5C#1 = Index<int{2},1>(n1D51);
          int iy1D5A#1 = Add<int>(t11D5B,t21D5C);
          addr(IMAGE2D<int>) a1D5D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1D57,iy1D5A);
          real4 v31D56#1 = LoadVoxels<IMAGE2D<int>,4>(a1D5D);
          real fy1D7E#4 = Index<real2,1>(f1D4F);
          real r1D86#1 = 0.1e1;
          real t31D83#1 = Add<real>(fy1D7E,r1D86);
          real t21D82#1 = fy1D7E;
          real r1D85#1 = 0.1e1;
          real t11D81#1 = Sub<real>(fy1D7E,r1D85);
          real r1D84#1 = 0.2e1;
          real t01D80#1 = Sub<real>(fy1D7E,r1D84);
          real4 a1D7F#1 = <real4>[t31D83,t21D82,t11D81,t01D80];
          real4 hy1D74#1 = EvalKernel<4,bspln3,0>(a1D7F);
          real fx1D75#4 = Index<real2,0>(f1D4F);
          real r1D7D#1 = 0.1e1;
          real t31D7A#1 = Add<real>(fx1D75,r1D7D);
          real t21D79#1 = fx1D75;
          real r1D7C#1 = 0.1e1;
          real t11D78#1 = Sub<real>(fx1D75,r1D7C);
          real r1D7B#1 = 0.2e1;
          real t01D77#1 = Sub<real>(fx1D75,r1D7B);
          real4 a1D76#1 = <real4>[t31D7A,t21D79,t11D78,t01D77];
          real4 hx1D73#4 = EvalKernel<4,bspln3,0>(a1D76);
          real t01D88#1 = Dot<4>(v01D53,hx1D73);
          real t11D89#1 = Dot<4>(v11D54,hx1D73);
          real t21D8A#1 = Dot<4>(v21D55,hx1D73);
          real t31D8B#1 = Dot<4>(v31D56,hx1D73);
          real4 tv1D87#1 = <real4>[t01D88,t11D89,t21D8A,t31D8B];
          real _t1D4D#1 = Dot<4>(hy1D74,tv1D87);
          real _t1DCA#2 = Sub<real>(_t1CD0,_t1D4D);
          real _t1DCC#1 = Mul<real>(_t1DCA,_t1DCA);
          real score1DCE#1 = Add<real>(score1CB9,_t1DCC);
          goto JOIN1DD1
        JOIN1DD1:  preds = [ASSIGN1DCF,COND1CCF]
          real score1DD0#2 = phi(score1DCE,score1CB9)
          real _t1DD2#1 = Dot<2>(r00D67,v150CFB);
          real _t1DD4#1 = Dot<2>(r10D6D,v150CFB);
          real2 _t1DD6#1 = <real2>[_t1DD2,_t1DD4];
          real2 pos1DD8#2 = Add<real2>(_t1DD6,_t0D7D);
          real2 x1DDB#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1DD8);
          bool _t1DDA#1 = Inside<IMAGE2D<float>,2>(x1DDB,_t0CD1);
          if _t1DDA then goto ASSIGN1DE1 else goto ASSIGN28C7
        ASSIGN1DE1:  preds = [COND1DDE]
          real2 x1DE0#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v150CFB);
          bool _t1DDF#1 = Inside<IMAGE2D<int>,2>(x1DE0,_t0CCD);
          goto JOIN1DE5
        JOIN1DE5:  preds = [ASSIGN1DE2,ASSIGN28C7]
          bool _t1DE3#1 = phi(_t1DDF,_t1DE4)
          if _t1DE3 then goto ASSIGN1E26 else goto JOIN1EE8
        ASSIGN1E26:  preds = [COND1DE6]
          real2 x1DE8#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1DD8);
          real2 nd1DEA#2 = Floor<2>(x1DE8);
          real2 f1DE9#2 = Sub<real2>(x1DE8,nd1DEA);
          int{2} n1DEB#8 = RealToInt<2>(nd1DEA);
          int t11E07#1 = -1;
          int t21E08#1 = Index<int{2},0>(n1DEB);
          int ix1E06#1 = Add<int>(t11E07,t21E08);
          int t11E0A#1 = -1;
          int t21E0B#1 = Index<int{2},1>(n1DEB);
          int iy1E09#1 = Add<int>(t11E0A,t21E0B);
          addr(IMAGE2D<float>) a1E0C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1E06,iy1E09);
          real4 v01DED#1 = LoadVoxels<IMAGE2D<float>,4>(a1E0C);
          int t11E00#1 = -1;
          int t21E01#1 = Index<int{2},0>(n1DEB);
          int ix1DFF#1 = Add<int>(t11E00,t21E01);
          int t11E03#1 = 0;
          int t21E04#1 = Index<int{2},1>(n1DEB);
          int iy1E02#1 = Add<int>(t11E03,t21E04);
          addr(IMAGE2D<float>) a1E05#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1DFF,iy1E02);
          real4 v11DEE#1 = LoadVoxels<IMAGE2D<float>,4>(a1E05);
          int t11DF9#1 = -1;
          int t21DFA#1 = Index<int{2},0>(n1DEB);
          int ix1DF8#1 = Add<int>(t11DF9,t21DFA);
          int t11DFC#1 = 1;
          int t21DFD#1 = Index<int{2},1>(n1DEB);
          int iy1DFB#1 = Add<int>(t11DFC,t21DFD);
          addr(IMAGE2D<float>) a1DFE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1DF8,iy1DFB);
          real4 v21DEF#1 = LoadVoxels<IMAGE2D<float>,4>(a1DFE);
          int t11DF2#1 = -1;
          int t21DF3#1 = Index<int{2},0>(n1DEB);
          int ix1DF1#1 = Add<int>(t11DF2,t21DF3);
          int t11DF5#1 = 2;
          int t21DF6#1 = Index<int{2},1>(n1DEB);
          int iy1DF4#1 = Add<int>(t11DF5,t21DF6);
          addr(IMAGE2D<float>) a1DF7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1DF1,iy1DF4);
          real4 v31DF0#1 = LoadVoxels<IMAGE2D<float>,4>(a1DF7);
          real fy1E18#4 = Index<real2,1>(f1DE9);
          real r1E20#1 = 0.1e1;
          real t31E1D#1 = Add<real>(fy1E18,r1E20);
          real t21E1C#1 = fy1E18;
          real r1E1F#1 = 0.1e1;
          real t11E1B#1 = Sub<real>(fy1E18,r1E1F);
          real r1E1E#1 = 0.2e1;
          real t01E1A#1 = Sub<real>(fy1E18,r1E1E);
          real4 a1E19#1 = <real4>[t31E1D,t21E1C,t11E1B,t01E1A];
          real4 hy1E0E#1 = EvalKernel<4,bspln3,0>(a1E19);
          real fx1E0F#4 = Index<real2,0>(f1DE9);
          real r1E17#1 = 0.1e1;
          real t31E14#1 = Add<real>(fx1E0F,r1E17);
          real t21E13#1 = fx1E0F;
          real r1E16#1 = 0.1e1;
          real t11E12#1 = Sub<real>(fx1E0F,r1E16);
          real r1E15#1 = 0.2e1;
          real t01E11#1 = Sub<real>(fx1E0F,r1E15);
          real4 a1E10#1 = <real4>[t31E14,t21E13,t11E12,t01E11];
          real4 hx1E0D#4 = EvalKernel<4,bspln3,0>(a1E10);
          real t01E22#1 = Dot<4>(v01DED,hx1E0D);
          real t11E23#1 = Dot<4>(v11DEE,hx1E0D);
          real t21E24#1 = Dot<4>(v21DEF,hx1E0D);
          real t31E25#1 = Dot<4>(v31DF0,hx1E0D);
          real4 tv1E21#1 = <real4>[t01E22,t11E23,t21E24,t31E25];
          real _t1DE7#1 = Dot<4>(hy1E0E,tv1E21);
          real2 x1E65#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v150CFB);
          real2 nd1E67#2 = Floor<2>(x1E65);
          real2 f1E66#2 = Sub<real2>(x1E65,nd1E67);
          int{2} n1E68#8 = RealToInt<2>(nd1E67);
          int t11E84#1 = -1;
          int t21E85#1 = Index<int{2},0>(n1E68);
          int ix1E83#1 = Add<int>(t11E84,t21E85);
          int t11E87#1 = -1;
          int t21E88#1 = Index<int{2},1>(n1E68);
          int iy1E86#1 = Add<int>(t11E87,t21E88);
          addr(IMAGE2D<int>) a1E89#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1E83,iy1E86);
          real4 v01E6A#1 = LoadVoxels<IMAGE2D<int>,4>(a1E89);
          int t11E7D#1 = -1;
          int t21E7E#1 = Index<int{2},0>(n1E68);
          int ix1E7C#1 = Add<int>(t11E7D,t21E7E);
          int t11E80#1 = 0;
          int t21E81#1 = Index<int{2},1>(n1E68);
          int iy1E7F#1 = Add<int>(t11E80,t21E81);
          addr(IMAGE2D<int>) a1E82#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1E7C,iy1E7F);
          real4 v11E6B#1 = LoadVoxels<IMAGE2D<int>,4>(a1E82);
          int t11E76#1 = -1;
          int t21E77#1 = Index<int{2},0>(n1E68);
          int ix1E75#1 = Add<int>(t11E76,t21E77);
          int t11E79#1 = 1;
          int t21E7A#1 = Index<int{2},1>(n1E68);
          int iy1E78#1 = Add<int>(t11E79,t21E7A);
          addr(IMAGE2D<int>) a1E7B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1E75,iy1E78);
          real4 v21E6C#1 = LoadVoxels<IMAGE2D<int>,4>(a1E7B);
          int t11E6F#1 = -1;
          int t21E70#1 = Index<int{2},0>(n1E68);
          int ix1E6E#1 = Add<int>(t11E6F,t21E70);
          int t11E72#1 = 2;
          int t21E73#1 = Index<int{2},1>(n1E68);
          int iy1E71#1 = Add<int>(t11E72,t21E73);
          addr(IMAGE2D<int>) a1E74#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1E6E,iy1E71);
          real4 v31E6D#1 = LoadVoxels<IMAGE2D<int>,4>(a1E74);
          real fy1E95#4 = Index<real2,1>(f1E66);
          real r1E9D#1 = 0.1e1;
          real t31E9A#1 = Add<real>(fy1E95,r1E9D);
          real t21E99#1 = fy1E95;
          real r1E9C#1 = 0.1e1;
          real t11E98#1 = Sub<real>(fy1E95,r1E9C);
          real r1E9B#1 = 0.2e1;
          real t01E97#1 = Sub<real>(fy1E95,r1E9B);
          real4 a1E96#1 = <real4>[t31E9A,t21E99,t11E98,t01E97];
          real4 hy1E8B#1 = EvalKernel<4,bspln3,0>(a1E96);
          real fx1E8C#4 = Index<real2,0>(f1E66);
          real r1E94#1 = 0.1e1;
          real t31E91#1 = Add<real>(fx1E8C,r1E94);
          real t21E90#1 = fx1E8C;
          real r1E93#1 = 0.1e1;
          real t11E8F#1 = Sub<real>(fx1E8C,r1E93);
          real r1E92#1 = 0.2e1;
          real t01E8E#1 = Sub<real>(fx1E8C,r1E92);
          real4 a1E8D#1 = <real4>[t31E91,t21E90,t11E8F,t01E8E];
          real4 hx1E8A#4 = EvalKernel<4,bspln3,0>(a1E8D);
          real t01E9F#1 = Dot<4>(v01E6A,hx1E8A);
          real t11EA0#1 = Dot<4>(v11E6B,hx1E8A);
          real t21EA1#1 = Dot<4>(v21E6C,hx1E8A);
          real t31EA2#1 = Dot<4>(v31E6D,hx1E8A);
          real4 tv1E9E#1 = <real4>[t01E9F,t11EA0,t21EA1,t31EA2];
          real _t1E64#1 = Dot<4>(hy1E8B,tv1E9E);
          real _t1EE1#2 = Sub<real>(_t1DE7,_t1E64);
          real _t1EE3#1 = Mul<real>(_t1EE1,_t1EE1);
          real score1EE5#1 = Add<real>(score1DD0,_t1EE3);
          goto JOIN1EE8
        JOIN1EE8:  preds = [ASSIGN1EE6,COND1DE6]
          real score1EE7#2 = phi(score1EE5,score1DD0)
          real _t1EE9#1 = Dot<2>(r00D67,v160CFD);
          real _t1EEB#1 = Dot<2>(r10D6D,v160CFD);
          real2 _t1EED#1 = <real2>[_t1EE9,_t1EEB];
          real2 pos1EEF#2 = Add<real2>(_t1EED,_t0D7D);
          real2 x1EF2#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1EEF);
          bool _t1EF1#1 = Inside<IMAGE2D<float>,2>(x1EF2,_t0CD1);
          if _t1EF1 then goto ASSIGN1EF8 else goto ASSIGN28C6
        ASSIGN1EF8:  preds = [COND1EF5]
          real2 x1EF7#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v160CFD);
          bool _t1EF6#1 = Inside<IMAGE2D<int>,2>(x1EF7,_t0CCD);
          goto JOIN1EFC
        JOIN1EFC:  preds = [ASSIGN1EF9,ASSIGN28C6]
          bool _t1EFA#1 = phi(_t1EF6,_t1EFB)
          if _t1EFA then goto ASSIGN1F3D else goto JOIN1FFF
        ASSIGN1F3D:  preds = [COND1EFD]
          real2 x1EFF#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1EEF);
          real2 nd1F01#2 = Floor<2>(x1EFF);
          real2 f1F00#2 = Sub<real2>(x1EFF,nd1F01);
          int{2} n1F02#8 = RealToInt<2>(nd1F01);
          int t11F1E#1 = -1;
          int t21F1F#1 = Index<int{2},0>(n1F02);
          int ix1F1D#1 = Add<int>(t11F1E,t21F1F);
          int t11F21#1 = -1;
          int t21F22#1 = Index<int{2},1>(n1F02);
          int iy1F20#1 = Add<int>(t11F21,t21F22);
          addr(IMAGE2D<float>) a1F23#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1F1D,iy1F20);
          real4 v01F04#1 = LoadVoxels<IMAGE2D<float>,4>(a1F23);
          int t11F17#1 = -1;
          int t21F18#1 = Index<int{2},0>(n1F02);
          int ix1F16#1 = Add<int>(t11F17,t21F18);
          int t11F1A#1 = 0;
          int t21F1B#1 = Index<int{2},1>(n1F02);
          int iy1F19#1 = Add<int>(t11F1A,t21F1B);
          addr(IMAGE2D<float>) a1F1C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1F16,iy1F19);
          real4 v11F05#1 = LoadVoxels<IMAGE2D<float>,4>(a1F1C);
          int t11F10#1 = -1;
          int t21F11#1 = Index<int{2},0>(n1F02);
          int ix1F0F#1 = Add<int>(t11F10,t21F11);
          int t11F13#1 = 1;
          int t21F14#1 = Index<int{2},1>(n1F02);
          int iy1F12#1 = Add<int>(t11F13,t21F14);
          addr(IMAGE2D<float>) a1F15#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1F0F,iy1F12);
          real4 v21F06#1 = LoadVoxels<IMAGE2D<float>,4>(a1F15);
          int t11F09#1 = -1;
          int t21F0A#1 = Index<int{2},0>(n1F02);
          int ix1F08#1 = Add<int>(t11F09,t21F0A);
          int t11F0C#1 = 2;
          int t21F0D#1 = Index<int{2},1>(n1F02);
          int iy1F0B#1 = Add<int>(t11F0C,t21F0D);
          addr(IMAGE2D<float>) a1F0E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1F08,iy1F0B);
          real4 v31F07#1 = LoadVoxels<IMAGE2D<float>,4>(a1F0E);
          real fy1F2F#4 = Index<real2,1>(f1F00);
          real r1F37#1 = 0.1e1;
          real t31F34#1 = Add<real>(fy1F2F,r1F37);
          real t21F33#1 = fy1F2F;
          real r1F36#1 = 0.1e1;
          real t11F32#1 = Sub<real>(fy1F2F,r1F36);
          real r1F35#1 = 0.2e1;
          real t01F31#1 = Sub<real>(fy1F2F,r1F35);
          real4 a1F30#1 = <real4>[t31F34,t21F33,t11F32,t01F31];
          real4 hy1F25#1 = EvalKernel<4,bspln3,0>(a1F30);
          real fx1F26#4 = Index<real2,0>(f1F00);
          real r1F2E#1 = 0.1e1;
          real t31F2B#1 = Add<real>(fx1F26,r1F2E);
          real t21F2A#1 = fx1F26;
          real r1F2D#1 = 0.1e1;
          real t11F29#1 = Sub<real>(fx1F26,r1F2D);
          real r1F2C#1 = 0.2e1;
          real t01F28#1 = Sub<real>(fx1F26,r1F2C);
          real4 a1F27#1 = <real4>[t31F2B,t21F2A,t11F29,t01F28];
          real4 hx1F24#4 = EvalKernel<4,bspln3,0>(a1F27);
          real t01F39#1 = Dot<4>(v01F04,hx1F24);
          real t11F3A#1 = Dot<4>(v11F05,hx1F24);
          real t21F3B#1 = Dot<4>(v21F06,hx1F24);
          real t31F3C#1 = Dot<4>(v31F07,hx1F24);
          real4 tv1F38#1 = <real4>[t01F39,t11F3A,t21F3B,t31F3C];
          real _t1EFE#1 = Dot<4>(hy1F25,tv1F38);
          real2 x1F7C#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v160CFD);
          real2 nd1F7E#2 = Floor<2>(x1F7C);
          real2 f1F7D#2 = Sub<real2>(x1F7C,nd1F7E);
          int{2} n1F7F#8 = RealToInt<2>(nd1F7E);
          int t11F9B#1 = -1;
          int t21F9C#1 = Index<int{2},0>(n1F7F);
          int ix1F9A#1 = Add<int>(t11F9B,t21F9C);
          int t11F9E#1 = -1;
          int t21F9F#1 = Index<int{2},1>(n1F7F);
          int iy1F9D#1 = Add<int>(t11F9E,t21F9F);
          addr(IMAGE2D<int>) a1FA0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1F9A,iy1F9D);
          real4 v01F81#1 = LoadVoxels<IMAGE2D<int>,4>(a1FA0);
          int t11F94#1 = -1;
          int t21F95#1 = Index<int{2},0>(n1F7F);
          int ix1F93#1 = Add<int>(t11F94,t21F95);
          int t11F97#1 = 0;
          int t21F98#1 = Index<int{2},1>(n1F7F);
          int iy1F96#1 = Add<int>(t11F97,t21F98);
          addr(IMAGE2D<int>) a1F99#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1F93,iy1F96);
          real4 v11F82#1 = LoadVoxels<IMAGE2D<int>,4>(a1F99);
          int t11F8D#1 = -1;
          int t21F8E#1 = Index<int{2},0>(n1F7F);
          int ix1F8C#1 = Add<int>(t11F8D,t21F8E);
          int t11F90#1 = 1;
          int t21F91#1 = Index<int{2},1>(n1F7F);
          int iy1F8F#1 = Add<int>(t11F90,t21F91);
          addr(IMAGE2D<int>) a1F92#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1F8C,iy1F8F);
          real4 v21F83#1 = LoadVoxels<IMAGE2D<int>,4>(a1F92);
          int t11F86#1 = -1;
          int t21F87#1 = Index<int{2},0>(n1F7F);
          int ix1F85#1 = Add<int>(t11F86,t21F87);
          int t11F89#1 = 2;
          int t21F8A#1 = Index<int{2},1>(n1F7F);
          int iy1F88#1 = Add<int>(t11F89,t21F8A);
          addr(IMAGE2D<int>) a1F8B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1F85,iy1F88);
          real4 v31F84#1 = LoadVoxels<IMAGE2D<int>,4>(a1F8B);
          real fy1FAC#4 = Index<real2,1>(f1F7D);
          real r1FB4#1 = 0.1e1;
          real t31FB1#1 = Add<real>(fy1FAC,r1FB4);
          real t21FB0#1 = fy1FAC;
          real r1FB3#1 = 0.1e1;
          real t11FAF#1 = Sub<real>(fy1FAC,r1FB3);
          real r1FB2#1 = 0.2e1;
          real t01FAE#1 = Sub<real>(fy1FAC,r1FB2);
          real4 a1FAD#1 = <real4>[t31FB1,t21FB0,t11FAF,t01FAE];
          real4 hy1FA2#1 = EvalKernel<4,bspln3,0>(a1FAD);
          real fx1FA3#4 = Index<real2,0>(f1F7D);
          real r1FAB#1 = 0.1e1;
          real t31FA8#1 = Add<real>(fx1FA3,r1FAB);
          real t21FA7#1 = fx1FA3;
          real r1FAA#1 = 0.1e1;
          real t11FA6#1 = Sub<real>(fx1FA3,r1FAA);
          real r1FA9#1 = 0.2e1;
          real t01FA5#1 = Sub<real>(fx1FA3,r1FA9);
          real4 a1FA4#1 = <real4>[t31FA8,t21FA7,t11FA6,t01FA5];
          real4 hx1FA1#4 = EvalKernel<4,bspln3,0>(a1FA4);
          real t01FB6#1 = Dot<4>(v01F81,hx1FA1);
          real t11FB7#1 = Dot<4>(v11F82,hx1FA1);
          real t21FB8#1 = Dot<4>(v21F83,hx1FA1);
          real t31FB9#1 = Dot<4>(v31F84,hx1FA1);
          real4 tv1FB5#1 = <real4>[t01FB6,t11FB7,t21FB8,t31FB9];
          real _t1F7B#1 = Dot<4>(hy1FA2,tv1FB5);
          real _t1FF8#2 = Sub<real>(_t1EFE,_t1F7B);
          real _t1FFA#1 = Mul<real>(_t1FF8,_t1FF8);
          real score1FFC#1 = Add<real>(score1EE7,_t1FFA);
          goto JOIN1FFF
        JOIN1FFF:  preds = [ASSIGN1FFD,COND1EFD]
          real score1FFE#2 = phi(score1FFC,score1EE7)
          real _t2000#1 = Dot<2>(r00D67,v170CFF);
          real _t2002#1 = Dot<2>(r10D6D,v170CFF);
          real2 _t2004#1 = <real2>[_t2000,_t2002];
          real2 pos2006#2 = Add<real2>(_t2004,_t0D7D);
          real2 x2009#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2006);
          bool _t2008#1 = Inside<IMAGE2D<float>,2>(x2009,_t0CD1);
          if _t2008 then goto ASSIGN200F else goto ASSIGN28C5
        ASSIGN200F:  preds = [COND200C]
          real2 x200E#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v170CFF);
          bool _t200D#1 = Inside<IMAGE2D<int>,2>(x200E,_t0CCD);
          goto JOIN2013
        JOIN2013:  preds = [ASSIGN2010,ASSIGN28C5]
          bool _t2011#1 = phi(_t200D,_t2012)
          if _t2011 then goto ASSIGN2054 else goto JOIN2116
        ASSIGN2054:  preds = [COND2014]
          real2 x2016#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2006);
          real2 nd2018#2 = Floor<2>(x2016);
          real2 f2017#2 = Sub<real2>(x2016,nd2018);
          int{2} n2019#8 = RealToInt<2>(nd2018);
          int t12035#1 = -1;
          int t22036#1 = Index<int{2},0>(n2019);
          int ix2034#1 = Add<int>(t12035,t22036);
          int t12038#1 = -1;
          int t22039#1 = Index<int{2},1>(n2019);
          int iy2037#1 = Add<int>(t12038,t22039);
          addr(IMAGE2D<float>) a203A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2034,iy2037);
          real4 v0201B#1 = LoadVoxels<IMAGE2D<float>,4>(a203A);
          int t1202E#1 = -1;
          int t2202F#1 = Index<int{2},0>(n2019);
          int ix202D#1 = Add<int>(t1202E,t2202F);
          int t12031#1 = 0;
          int t22032#1 = Index<int{2},1>(n2019);
          int iy2030#1 = Add<int>(t12031,t22032);
          addr(IMAGE2D<float>) a2033#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix202D,iy2030);
          real4 v1201C#1 = LoadVoxels<IMAGE2D<float>,4>(a2033);
          int t12027#1 = -1;
          int t22028#1 = Index<int{2},0>(n2019);
          int ix2026#1 = Add<int>(t12027,t22028);
          int t1202A#1 = 1;
          int t2202B#1 = Index<int{2},1>(n2019);
          int iy2029#1 = Add<int>(t1202A,t2202B);
          addr(IMAGE2D<float>) a202C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2026,iy2029);
          real4 v2201D#1 = LoadVoxels<IMAGE2D<float>,4>(a202C);
          int t12020#1 = -1;
          int t22021#1 = Index<int{2},0>(n2019);
          int ix201F#1 = Add<int>(t12020,t22021);
          int t12023#1 = 2;
          int t22024#1 = Index<int{2},1>(n2019);
          int iy2022#1 = Add<int>(t12023,t22024);
          addr(IMAGE2D<float>) a2025#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix201F,iy2022);
          real4 v3201E#1 = LoadVoxels<IMAGE2D<float>,4>(a2025);
          real fy2046#4 = Index<real2,1>(f2017);
          real r204E#1 = 0.1e1;
          real t3204B#1 = Add<real>(fy2046,r204E);
          real t2204A#1 = fy2046;
          real r204D#1 = 0.1e1;
          real t12049#1 = Sub<real>(fy2046,r204D);
          real r204C#1 = 0.2e1;
          real t02048#1 = Sub<real>(fy2046,r204C);
          real4 a2047#1 = <real4>[t3204B,t2204A,t12049,t02048];
          real4 hy203C#1 = EvalKernel<4,bspln3,0>(a2047);
          real fx203D#4 = Index<real2,0>(f2017);
          real r2045#1 = 0.1e1;
          real t32042#1 = Add<real>(fx203D,r2045);
          real t22041#1 = fx203D;
          real r2044#1 = 0.1e1;
          real t12040#1 = Sub<real>(fx203D,r2044);
          real r2043#1 = 0.2e1;
          real t0203F#1 = Sub<real>(fx203D,r2043);
          real4 a203E#1 = <real4>[t32042,t22041,t12040,t0203F];
          real4 hx203B#4 = EvalKernel<4,bspln3,0>(a203E);
          real t02050#1 = Dot<4>(v0201B,hx203B);
          real t12051#1 = Dot<4>(v1201C,hx203B);
          real t22052#1 = Dot<4>(v2201D,hx203B);
          real t32053#1 = Dot<4>(v3201E,hx203B);
          real4 tv204F#1 = <real4>[t02050,t12051,t22052,t32053];
          real _t2015#1 = Dot<4>(hy203C,tv204F);
          real2 x2093#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v170CFF);
          real2 nd2095#2 = Floor<2>(x2093);
          real2 f2094#2 = Sub<real2>(x2093,nd2095);
          int{2} n2096#8 = RealToInt<2>(nd2095);
          int t120B2#1 = -1;
          int t220B3#1 = Index<int{2},0>(n2096);
          int ix20B1#1 = Add<int>(t120B2,t220B3);
          int t120B5#1 = -1;
          int t220B6#1 = Index<int{2},1>(n2096);
          int iy20B4#1 = Add<int>(t120B5,t220B6);
          addr(IMAGE2D<int>) a20B7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix20B1,iy20B4);
          real4 v02098#1 = LoadVoxels<IMAGE2D<int>,4>(a20B7);
          int t120AB#1 = -1;
          int t220AC#1 = Index<int{2},0>(n2096);
          int ix20AA#1 = Add<int>(t120AB,t220AC);
          int t120AE#1 = 0;
          int t220AF#1 = Index<int{2},1>(n2096);
          int iy20AD#1 = Add<int>(t120AE,t220AF);
          addr(IMAGE2D<int>) a20B0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix20AA,iy20AD);
          real4 v12099#1 = LoadVoxels<IMAGE2D<int>,4>(a20B0);
          int t120A4#1 = -1;
          int t220A5#1 = Index<int{2},0>(n2096);
          int ix20A3#1 = Add<int>(t120A4,t220A5);
          int t120A7#1 = 1;
          int t220A8#1 = Index<int{2},1>(n2096);
          int iy20A6#1 = Add<int>(t120A7,t220A8);
          addr(IMAGE2D<int>) a20A9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix20A3,iy20A6);
          real4 v2209A#1 = LoadVoxels<IMAGE2D<int>,4>(a20A9);
          int t1209D#1 = -1;
          int t2209E#1 = Index<int{2},0>(n2096);
          int ix209C#1 = Add<int>(t1209D,t2209E);
          int t120A0#1 = 2;
          int t220A1#1 = Index<int{2},1>(n2096);
          int iy209F#1 = Add<int>(t120A0,t220A1);
          addr(IMAGE2D<int>) a20A2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix209C,iy209F);
          real4 v3209B#1 = LoadVoxels<IMAGE2D<int>,4>(a20A2);
          real fy20C3#4 = Index<real2,1>(f2094);
          real r20CB#1 = 0.1e1;
          real t320C8#1 = Add<real>(fy20C3,r20CB);
          real t220C7#1 = fy20C3;
          real r20CA#1 = 0.1e1;
          real t120C6#1 = Sub<real>(fy20C3,r20CA);
          real r20C9#1 = 0.2e1;
          real t020C5#1 = Sub<real>(fy20C3,r20C9);
          real4 a20C4#1 = <real4>[t320C8,t220C7,t120C6,t020C5];
          real4 hy20B9#1 = EvalKernel<4,bspln3,0>(a20C4);
          real fx20BA#4 = Index<real2,0>(f2094);
          real r20C2#1 = 0.1e1;
          real t320BF#1 = Add<real>(fx20BA,r20C2);
          real t220BE#1 = fx20BA;
          real r20C1#1 = 0.1e1;
          real t120BD#1 = Sub<real>(fx20BA,r20C1);
          real r20C0#1 = 0.2e1;
          real t020BC#1 = Sub<real>(fx20BA,r20C0);
          real4 a20BB#1 = <real4>[t320BF,t220BE,t120BD,t020BC];
          real4 hx20B8#4 = EvalKernel<4,bspln3,0>(a20BB);
          real t020CD#1 = Dot<4>(v02098,hx20B8);
          real t120CE#1 = Dot<4>(v12099,hx20B8);
          real t220CF#1 = Dot<4>(v2209A,hx20B8);
          real t320D0#1 = Dot<4>(v3209B,hx20B8);
          real4 tv20CC#1 = <real4>[t020CD,t120CE,t220CF,t320D0];
          real _t2092#1 = Dot<4>(hy20B9,tv20CC);
          real _t210F#2 = Sub<real>(_t2015,_t2092);
          real _t2111#1 = Mul<real>(_t210F,_t210F);
          real score2113#1 = Add<real>(score1FFE,_t2111);
          goto JOIN2116
        JOIN2116:  preds = [ASSIGN2114,COND2014]
          real score2115#2 = phi(score2113,score1FFE)
          real _t2117#1 = Dot<2>(r00D67,v180D01);
          real _t2119#1 = Dot<2>(r10D6D,v180D01);
          real2 _t211B#1 = <real2>[_t2117,_t2119];
          real2 pos211D#2 = Add<real2>(_t211B,_t0D7D);
          real2 x2120#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos211D);
          bool _t211F#1 = Inside<IMAGE2D<float>,2>(x2120,_t0CD1);
          if _t211F then goto ASSIGN2126 else goto ASSIGN28C4
        ASSIGN2126:  preds = [COND2123]
          real2 x2125#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v180D01);
          bool _t2124#1 = Inside<IMAGE2D<int>,2>(x2125,_t0CCD);
          goto JOIN212A
        JOIN212A:  preds = [ASSIGN2127,ASSIGN28C4]
          bool _t2128#1 = phi(_t2124,_t2129)
          if _t2128 then goto ASSIGN216B else goto JOIN222D
        ASSIGN216B:  preds = [COND212B]
          real2 x212D#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos211D);
          real2 nd212F#2 = Floor<2>(x212D);
          real2 f212E#2 = Sub<real2>(x212D,nd212F);
          int{2} n2130#8 = RealToInt<2>(nd212F);
          int t1214C#1 = -1;
          int t2214D#1 = Index<int{2},0>(n2130);
          int ix214B#1 = Add<int>(t1214C,t2214D);
          int t1214F#1 = -1;
          int t22150#1 = Index<int{2},1>(n2130);
          int iy214E#1 = Add<int>(t1214F,t22150);
          addr(IMAGE2D<float>) a2151#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix214B,iy214E);
          real4 v02132#1 = LoadVoxels<IMAGE2D<float>,4>(a2151);
          int t12145#1 = -1;
          int t22146#1 = Index<int{2},0>(n2130);
          int ix2144#1 = Add<int>(t12145,t22146);
          int t12148#1 = 0;
          int t22149#1 = Index<int{2},1>(n2130);
          int iy2147#1 = Add<int>(t12148,t22149);
          addr(IMAGE2D<float>) a214A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2144,iy2147);
          real4 v12133#1 = LoadVoxels<IMAGE2D<float>,4>(a214A);
          int t1213E#1 = -1;
          int t2213F#1 = Index<int{2},0>(n2130);
          int ix213D#1 = Add<int>(t1213E,t2213F);
          int t12141#1 = 1;
          int t22142#1 = Index<int{2},1>(n2130);
          int iy2140#1 = Add<int>(t12141,t22142);
          addr(IMAGE2D<float>) a2143#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix213D,iy2140);
          real4 v22134#1 = LoadVoxels<IMAGE2D<float>,4>(a2143);
          int t12137#1 = -1;
          int t22138#1 = Index<int{2},0>(n2130);
          int ix2136#1 = Add<int>(t12137,t22138);
          int t1213A#1 = 2;
          int t2213B#1 = Index<int{2},1>(n2130);
          int iy2139#1 = Add<int>(t1213A,t2213B);
          addr(IMAGE2D<float>) a213C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2136,iy2139);
          real4 v32135#1 = LoadVoxels<IMAGE2D<float>,4>(a213C);
          real fy215D#4 = Index<real2,1>(f212E);
          real r2165#1 = 0.1e1;
          real t32162#1 = Add<real>(fy215D,r2165);
          real t22161#1 = fy215D;
          real r2164#1 = 0.1e1;
          real t12160#1 = Sub<real>(fy215D,r2164);
          real r2163#1 = 0.2e1;
          real t0215F#1 = Sub<real>(fy215D,r2163);
          real4 a215E#1 = <real4>[t32162,t22161,t12160,t0215F];
          real4 hy2153#1 = EvalKernel<4,bspln3,0>(a215E);
          real fx2154#4 = Index<real2,0>(f212E);
          real r215C#1 = 0.1e1;
          real t32159#1 = Add<real>(fx2154,r215C);
          real t22158#1 = fx2154;
          real r215B#1 = 0.1e1;
          real t12157#1 = Sub<real>(fx2154,r215B);
          real r215A#1 = 0.2e1;
          real t02156#1 = Sub<real>(fx2154,r215A);
          real4 a2155#1 = <real4>[t32159,t22158,t12157,t02156];
          real4 hx2152#4 = EvalKernel<4,bspln3,0>(a2155);
          real t02167#1 = Dot<4>(v02132,hx2152);
          real t12168#1 = Dot<4>(v12133,hx2152);
          real t22169#1 = Dot<4>(v22134,hx2152);
          real t3216A#1 = Dot<4>(v32135,hx2152);
          real4 tv2166#1 = <real4>[t02167,t12168,t22169,t3216A];
          real _t212C#1 = Dot<4>(hy2153,tv2166);
          real2 x21AA#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v180D01);
          real2 nd21AC#2 = Floor<2>(x21AA);
          real2 f21AB#2 = Sub<real2>(x21AA,nd21AC);
          int{2} n21AD#8 = RealToInt<2>(nd21AC);
          int t121C9#1 = -1;
          int t221CA#1 = Index<int{2},0>(n21AD);
          int ix21C8#1 = Add<int>(t121C9,t221CA);
          int t121CC#1 = -1;
          int t221CD#1 = Index<int{2},1>(n21AD);
          int iy21CB#1 = Add<int>(t121CC,t221CD);
          addr(IMAGE2D<int>) a21CE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix21C8,iy21CB);
          real4 v021AF#1 = LoadVoxels<IMAGE2D<int>,4>(a21CE);
          int t121C2#1 = -1;
          int t221C3#1 = Index<int{2},0>(n21AD);
          int ix21C1#1 = Add<int>(t121C2,t221C3);
          int t121C5#1 = 0;
          int t221C6#1 = Index<int{2},1>(n21AD);
          int iy21C4#1 = Add<int>(t121C5,t221C6);
          addr(IMAGE2D<int>) a21C7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix21C1,iy21C4);
          real4 v121B0#1 = LoadVoxels<IMAGE2D<int>,4>(a21C7);
          int t121BB#1 = -1;
          int t221BC#1 = Index<int{2},0>(n21AD);
          int ix21BA#1 = Add<int>(t121BB,t221BC);
          int t121BE#1 = 1;
          int t221BF#1 = Index<int{2},1>(n21AD);
          int iy21BD#1 = Add<int>(t121BE,t221BF);
          addr(IMAGE2D<int>) a21C0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix21BA,iy21BD);
          real4 v221B1#1 = LoadVoxels<IMAGE2D<int>,4>(a21C0);
          int t121B4#1 = -1;
          int t221B5#1 = Index<int{2},0>(n21AD);
          int ix21B3#1 = Add<int>(t121B4,t221B5);
          int t121B7#1 = 2;
          int t221B8#1 = Index<int{2},1>(n21AD);
          int iy21B6#1 = Add<int>(t121B7,t221B8);
          addr(IMAGE2D<int>) a21B9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix21B3,iy21B6);
          real4 v321B2#1 = LoadVoxels<IMAGE2D<int>,4>(a21B9);
          real fy21DA#4 = Index<real2,1>(f21AB);
          real r21E2#1 = 0.1e1;
          real t321DF#1 = Add<real>(fy21DA,r21E2);
          real t221DE#1 = fy21DA;
          real r21E1#1 = 0.1e1;
          real t121DD#1 = Sub<real>(fy21DA,r21E1);
          real r21E0#1 = 0.2e1;
          real t021DC#1 = Sub<real>(fy21DA,r21E0);
          real4 a21DB#1 = <real4>[t321DF,t221DE,t121DD,t021DC];
          real4 hy21D0#1 = EvalKernel<4,bspln3,0>(a21DB);
          real fx21D1#4 = Index<real2,0>(f21AB);
          real r21D9#1 = 0.1e1;
          real t321D6#1 = Add<real>(fx21D1,r21D9);
          real t221D5#1 = fx21D1;
          real r21D8#1 = 0.1e1;
          real t121D4#1 = Sub<real>(fx21D1,r21D8);
          real r21D7#1 = 0.2e1;
          real t021D3#1 = Sub<real>(fx21D1,r21D7);
          real4 a21D2#1 = <real4>[t321D6,t221D5,t121D4,t021D3];
          real4 hx21CF#4 = EvalKernel<4,bspln3,0>(a21D2);
          real t021E4#1 = Dot<4>(v021AF,hx21CF);
          real t121E5#1 = Dot<4>(v121B0,hx21CF);
          real t221E6#1 = Dot<4>(v221B1,hx21CF);
          real t321E7#1 = Dot<4>(v321B2,hx21CF);
          real4 tv21E3#1 = <real4>[t021E4,t121E5,t221E6,t321E7];
          real _t21A9#1 = Dot<4>(hy21D0,tv21E3);
          real _t2226#2 = Sub<real>(_t212C,_t21A9);
          real _t2228#1 = Mul<real>(_t2226,_t2226);
          real score222A#1 = Add<real>(score2115,_t2228);
          goto JOIN222D
        JOIN222D:  preds = [ASSIGN222B,COND212B]
          real score222C#2 = phi(score222A,score2115)
          real _t222E#1 = Dot<2>(r00D67,v190D03);
          real _t2230#1 = Dot<2>(r10D6D,v190D03);
          real2 _t2232#1 = <real2>[_t222E,_t2230];
          real2 pos2234#2 = Add<real2>(_t2232,_t0D7D);
          real2 x2237#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2234);
          bool _t2236#1 = Inside<IMAGE2D<float>,2>(x2237,_t0CD1);
          if _t2236 then goto ASSIGN223D else goto ASSIGN28C3
        ASSIGN223D:  preds = [COND223A]
          real2 x223C#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v190D03);
          bool _t223B#1 = Inside<IMAGE2D<int>,2>(x223C,_t0CCD);
          goto JOIN2241
        JOIN2241:  preds = [ASSIGN223E,ASSIGN28C3]
          bool _t223F#1 = phi(_t223B,_t2240)
          if _t223F then goto ASSIGN2282 else goto JOIN2344
        ASSIGN2282:  preds = [COND2242]
          real2 x2244#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2234);
          real2 nd2246#2 = Floor<2>(x2244);
          real2 f2245#2 = Sub<real2>(x2244,nd2246);
          int{2} n2247#8 = RealToInt<2>(nd2246);
          int t12263#1 = -1;
          int t22264#1 = Index<int{2},0>(n2247);
          int ix2262#1 = Add<int>(t12263,t22264);
          int t12266#1 = -1;
          int t22267#1 = Index<int{2},1>(n2247);
          int iy2265#1 = Add<int>(t12266,t22267);
          addr(IMAGE2D<float>) a2268#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2262,iy2265);
          real4 v02249#1 = LoadVoxels<IMAGE2D<float>,4>(a2268);
          int t1225C#1 = -1;
          int t2225D#1 = Index<int{2},0>(n2247);
          int ix225B#1 = Add<int>(t1225C,t2225D);
          int t1225F#1 = 0;
          int t22260#1 = Index<int{2},1>(n2247);
          int iy225E#1 = Add<int>(t1225F,t22260);
          addr(IMAGE2D<float>) a2261#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix225B,iy225E);
          real4 v1224A#1 = LoadVoxels<IMAGE2D<float>,4>(a2261);
          int t12255#1 = -1;
          int t22256#1 = Index<int{2},0>(n2247);
          int ix2254#1 = Add<int>(t12255,t22256);
          int t12258#1 = 1;
          int t22259#1 = Index<int{2},1>(n2247);
          int iy2257#1 = Add<int>(t12258,t22259);
          addr(IMAGE2D<float>) a225A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2254,iy2257);
          real4 v2224B#1 = LoadVoxels<IMAGE2D<float>,4>(a225A);
          int t1224E#1 = -1;
          int t2224F#1 = Index<int{2},0>(n2247);
          int ix224D#1 = Add<int>(t1224E,t2224F);
          int t12251#1 = 2;
          int t22252#1 = Index<int{2},1>(n2247);
          int iy2250#1 = Add<int>(t12251,t22252);
          addr(IMAGE2D<float>) a2253#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix224D,iy2250);
          real4 v3224C#1 = LoadVoxels<IMAGE2D<float>,4>(a2253);
          real fy2274#4 = Index<real2,1>(f2245);
          real r227C#1 = 0.1e1;
          real t32279#1 = Add<real>(fy2274,r227C);
          real t22278#1 = fy2274;
          real r227B#1 = 0.1e1;
          real t12277#1 = Sub<real>(fy2274,r227B);
          real r227A#1 = 0.2e1;
          real t02276#1 = Sub<real>(fy2274,r227A);
          real4 a2275#1 = <real4>[t32279,t22278,t12277,t02276];
          real4 hy226A#1 = EvalKernel<4,bspln3,0>(a2275);
          real fx226B#4 = Index<real2,0>(f2245);
          real r2273#1 = 0.1e1;
          real t32270#1 = Add<real>(fx226B,r2273);
          real t2226F#1 = fx226B;
          real r2272#1 = 0.1e1;
          real t1226E#1 = Sub<real>(fx226B,r2272);
          real r2271#1 = 0.2e1;
          real t0226D#1 = Sub<real>(fx226B,r2271);
          real4 a226C#1 = <real4>[t32270,t2226F,t1226E,t0226D];
          real4 hx2269#4 = EvalKernel<4,bspln3,0>(a226C);
          real t0227E#1 = Dot<4>(v02249,hx2269);
          real t1227F#1 = Dot<4>(v1224A,hx2269);
          real t22280#1 = Dot<4>(v2224B,hx2269);
          real t32281#1 = Dot<4>(v3224C,hx2269);
          real4 tv227D#1 = <real4>[t0227E,t1227F,t22280,t32281];
          real _t2243#1 = Dot<4>(hy226A,tv227D);
          real2 x22C1#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v190D03);
          real2 nd22C3#2 = Floor<2>(x22C1);
          real2 f22C2#2 = Sub<real2>(x22C1,nd22C3);
          int{2} n22C4#8 = RealToInt<2>(nd22C3);
          int t122E0#1 = -1;
          int t222E1#1 = Index<int{2},0>(n22C4);
          int ix22DF#1 = Add<int>(t122E0,t222E1);
          int t122E3#1 = -1;
          int t222E4#1 = Index<int{2},1>(n22C4);
          int iy22E2#1 = Add<int>(t122E3,t222E4);
          addr(IMAGE2D<int>) a22E5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix22DF,iy22E2);
          real4 v022C6#1 = LoadVoxels<IMAGE2D<int>,4>(a22E5);
          int t122D9#1 = -1;
          int t222DA#1 = Index<int{2},0>(n22C4);
          int ix22D8#1 = Add<int>(t122D9,t222DA);
          int t122DC#1 = 0;
          int t222DD#1 = Index<int{2},1>(n22C4);
          int iy22DB#1 = Add<int>(t122DC,t222DD);
          addr(IMAGE2D<int>) a22DE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix22D8,iy22DB);
          real4 v122C7#1 = LoadVoxels<IMAGE2D<int>,4>(a22DE);
          int t122D2#1 = -1;
          int t222D3#1 = Index<int{2},0>(n22C4);
          int ix22D1#1 = Add<int>(t122D2,t222D3);
          int t122D5#1 = 1;
          int t222D6#1 = Index<int{2},1>(n22C4);
          int iy22D4#1 = Add<int>(t122D5,t222D6);
          addr(IMAGE2D<int>) a22D7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix22D1,iy22D4);
          real4 v222C8#1 = LoadVoxels<IMAGE2D<int>,4>(a22D7);
          int t122CB#1 = -1;
          int t222CC#1 = Index<int{2},0>(n22C4);
          int ix22CA#1 = Add<int>(t122CB,t222CC);
          int t122CE#1 = 2;
          int t222CF#1 = Index<int{2},1>(n22C4);
          int iy22CD#1 = Add<int>(t122CE,t222CF);
          addr(IMAGE2D<int>) a22D0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix22CA,iy22CD);
          real4 v322C9#1 = LoadVoxels<IMAGE2D<int>,4>(a22D0);
          real fy22F1#4 = Index<real2,1>(f22C2);
          real r22F9#1 = 0.1e1;
          real t322F6#1 = Add<real>(fy22F1,r22F9);
          real t222F5#1 = fy22F1;
          real r22F8#1 = 0.1e1;
          real t122F4#1 = Sub<real>(fy22F1,r22F8);
          real r22F7#1 = 0.2e1;
          real t022F3#1 = Sub<real>(fy22F1,r22F7);
          real4 a22F2#1 = <real4>[t322F6,t222F5,t122F4,t022F3];
          real4 hy22E7#1 = EvalKernel<4,bspln3,0>(a22F2);
          real fx22E8#4 = Index<real2,0>(f22C2);
          real r22F0#1 = 0.1e1;
          real t322ED#1 = Add<real>(fx22E8,r22F0);
          real t222EC#1 = fx22E8;
          real r22EF#1 = 0.1e1;
          real t122EB#1 = Sub<real>(fx22E8,r22EF);
          real r22EE#1 = 0.2e1;
          real t022EA#1 = Sub<real>(fx22E8,r22EE);
          real4 a22E9#1 = <real4>[t322ED,t222EC,t122EB,t022EA];
          real4 hx22E6#4 = EvalKernel<4,bspln3,0>(a22E9);
          real t022FB#1 = Dot<4>(v022C6,hx22E6);
          real t122FC#1 = Dot<4>(v122C7,hx22E6);
          real t222FD#1 = Dot<4>(v222C8,hx22E6);
          real t322FE#1 = Dot<4>(v322C9,hx22E6);
          real4 tv22FA#1 = <real4>[t022FB,t122FC,t222FD,t322FE];
          real _t22C0#1 = Dot<4>(hy22E7,tv22FA);
          real _t233D#2 = Sub<real>(_t2243,_t22C0);
          real _t233F#1 = Mul<real>(_t233D,_t233D);
          real score2341#1 = Add<real>(score222C,_t233F);
          goto JOIN2344
        JOIN2344:  preds = [ASSIGN2342,COND2242]
          real score2343#2 = phi(score2341,score222C)
          real _t2345#1 = Dot<2>(r00D67,v200D05);
          real _t2347#1 = Dot<2>(r10D6D,v200D05);
          real2 _t2349#1 = <real2>[_t2345,_t2347];
          real2 pos234B#2 = Add<real2>(_t2349,_t0D7D);
          real2 x234E#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos234B);
          bool _t234D#1 = Inside<IMAGE2D<float>,2>(x234E,_t0CD1);
          if _t234D then goto ASSIGN2354 else goto ASSIGN28C2
        ASSIGN2354:  preds = [COND2351]
          real2 x2353#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v200D05);
          bool _t2352#1 = Inside<IMAGE2D<int>,2>(x2353,_t0CCD);
          goto JOIN2358
        JOIN2358:  preds = [ASSIGN2355,ASSIGN28C2]
          bool _t2356#1 = phi(_t2352,_t2357)
          if _t2356 then goto ASSIGN2399 else goto JOIN245B
        ASSIGN2399:  preds = [COND2359]
          real2 x235B#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos234B);
          real2 nd235D#2 = Floor<2>(x235B);
          real2 f235C#2 = Sub<real2>(x235B,nd235D);
          int{2} n235E#8 = RealToInt<2>(nd235D);
          int t1237A#1 = -1;
          int t2237B#1 = Index<int{2},0>(n235E);
          int ix2379#1 = Add<int>(t1237A,t2237B);
          int t1237D#1 = -1;
          int t2237E#1 = Index<int{2},1>(n235E);
          int iy237C#1 = Add<int>(t1237D,t2237E);
          addr(IMAGE2D<float>) a237F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2379,iy237C);
          real4 v02360#1 = LoadVoxels<IMAGE2D<float>,4>(a237F);
          int t12373#1 = -1;
          int t22374#1 = Index<int{2},0>(n235E);
          int ix2372#1 = Add<int>(t12373,t22374);
          int t12376#1 = 0;
          int t22377#1 = Index<int{2},1>(n235E);
          int iy2375#1 = Add<int>(t12376,t22377);
          addr(IMAGE2D<float>) a2378#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2372,iy2375);
          real4 v12361#1 = LoadVoxels<IMAGE2D<float>,4>(a2378);
          int t1236C#1 = -1;
          int t2236D#1 = Index<int{2},0>(n235E);
          int ix236B#1 = Add<int>(t1236C,t2236D);
          int t1236F#1 = 1;
          int t22370#1 = Index<int{2},1>(n235E);
          int iy236E#1 = Add<int>(t1236F,t22370);
          addr(IMAGE2D<float>) a2371#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix236B,iy236E);
          real4 v22362#1 = LoadVoxels<IMAGE2D<float>,4>(a2371);
          int t12365#1 = -1;
          int t22366#1 = Index<int{2},0>(n235E);
          int ix2364#1 = Add<int>(t12365,t22366);
          int t12368#1 = 2;
          int t22369#1 = Index<int{2},1>(n235E);
          int iy2367#1 = Add<int>(t12368,t22369);
          addr(IMAGE2D<float>) a236A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2364,iy2367);
          real4 v32363#1 = LoadVoxels<IMAGE2D<float>,4>(a236A);
          real fy238B#4 = Index<real2,1>(f235C);
          real r2393#1 = 0.1e1;
          real t32390#1 = Add<real>(fy238B,r2393);
          real t2238F#1 = fy238B;
          real r2392#1 = 0.1e1;
          real t1238E#1 = Sub<real>(fy238B,r2392);
          real r2391#1 = 0.2e1;
          real t0238D#1 = Sub<real>(fy238B,r2391);
          real4 a238C#1 = <real4>[t32390,t2238F,t1238E,t0238D];
          real4 hy2381#1 = EvalKernel<4,bspln3,0>(a238C);
          real fx2382#4 = Index<real2,0>(f235C);
          real r238A#1 = 0.1e1;
          real t32387#1 = Add<real>(fx2382,r238A);
          real t22386#1 = fx2382;
          real r2389#1 = 0.1e1;
          real t12385#1 = Sub<real>(fx2382,r2389);
          real r2388#1 = 0.2e1;
          real t02384#1 = Sub<real>(fx2382,r2388);
          real4 a2383#1 = <real4>[t32387,t22386,t12385,t02384];
          real4 hx2380#4 = EvalKernel<4,bspln3,0>(a2383);
          real t02395#1 = Dot<4>(v02360,hx2380);
          real t12396#1 = Dot<4>(v12361,hx2380);
          real t22397#1 = Dot<4>(v22362,hx2380);
          real t32398#1 = Dot<4>(v32363,hx2380);
          real4 tv2394#1 = <real4>[t02395,t12396,t22397,t32398];
          real _t235A#1 = Dot<4>(hy2381,tv2394);
          real2 x23D8#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v200D05);
          real2 nd23DA#2 = Floor<2>(x23D8);
          real2 f23D9#2 = Sub<real2>(x23D8,nd23DA);
          int{2} n23DB#8 = RealToInt<2>(nd23DA);
          int t123F7#1 = -1;
          int t223F8#1 = Index<int{2},0>(n23DB);
          int ix23F6#1 = Add<int>(t123F7,t223F8);
          int t123FA#1 = -1;
          int t223FB#1 = Index<int{2},1>(n23DB);
          int iy23F9#1 = Add<int>(t123FA,t223FB);
          addr(IMAGE2D<int>) a23FC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix23F6,iy23F9);
          real4 v023DD#1 = LoadVoxels<IMAGE2D<int>,4>(a23FC);
          int t123F0#1 = -1;
          int t223F1#1 = Index<int{2},0>(n23DB);
          int ix23EF#1 = Add<int>(t123F0,t223F1);
          int t123F3#1 = 0;
          int t223F4#1 = Index<int{2},1>(n23DB);
          int iy23F2#1 = Add<int>(t123F3,t223F4);
          addr(IMAGE2D<int>) a23F5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix23EF,iy23F2);
          real4 v123DE#1 = LoadVoxels<IMAGE2D<int>,4>(a23F5);
          int t123E9#1 = -1;
          int t223EA#1 = Index<int{2},0>(n23DB);
          int ix23E8#1 = Add<int>(t123E9,t223EA);
          int t123EC#1 = 1;
          int t223ED#1 = Index<int{2},1>(n23DB);
          int iy23EB#1 = Add<int>(t123EC,t223ED);
          addr(IMAGE2D<int>) a23EE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix23E8,iy23EB);
          real4 v223DF#1 = LoadVoxels<IMAGE2D<int>,4>(a23EE);
          int t123E2#1 = -1;
          int t223E3#1 = Index<int{2},0>(n23DB);
          int ix23E1#1 = Add<int>(t123E2,t223E3);
          int t123E5#1 = 2;
          int t223E6#1 = Index<int{2},1>(n23DB);
          int iy23E4#1 = Add<int>(t123E5,t223E6);
          addr(IMAGE2D<int>) a23E7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix23E1,iy23E4);
          real4 v323E0#1 = LoadVoxels<IMAGE2D<int>,4>(a23E7);
          real fy2408#4 = Index<real2,1>(f23D9);
          real r2410#1 = 0.1e1;
          real t3240D#1 = Add<real>(fy2408,r2410);
          real t2240C#1 = fy2408;
          real r240F#1 = 0.1e1;
          real t1240B#1 = Sub<real>(fy2408,r240F);
          real r240E#1 = 0.2e1;
          real t0240A#1 = Sub<real>(fy2408,r240E);
          real4 a2409#1 = <real4>[t3240D,t2240C,t1240B,t0240A];
          real4 hy23FE#1 = EvalKernel<4,bspln3,0>(a2409);
          real fx23FF#4 = Index<real2,0>(f23D9);
          real r2407#1 = 0.1e1;
          real t32404#1 = Add<real>(fx23FF,r2407);
          real t22403#1 = fx23FF;
          real r2406#1 = 0.1e1;
          real t12402#1 = Sub<real>(fx23FF,r2406);
          real r2405#1 = 0.2e1;
          real t02401#1 = Sub<real>(fx23FF,r2405);
          real4 a2400#1 = <real4>[t32404,t22403,t12402,t02401];
          real4 hx23FD#4 = EvalKernel<4,bspln3,0>(a2400);
          real t02412#1 = Dot<4>(v023DD,hx23FD);
          real t12413#1 = Dot<4>(v123DE,hx23FD);
          real t22414#1 = Dot<4>(v223DF,hx23FD);
          real t32415#1 = Dot<4>(v323E0,hx23FD);
          real4 tv2411#1 = <real4>[t02412,t12413,t22414,t32415];
          real _t23D7#1 = Dot<4>(hy23FE,tv2411);
          real _t2454#2 = Sub<real>(_t235A,_t23D7);
          real _t2456#1 = Mul<real>(_t2454,_t2454);
          real score2458#1 = Add<real>(score2343,_t2456);
          goto JOIN245B
        JOIN245B:  preds = [ASSIGN2459,COND2359]
          real score245A#2 = phi(score2458,score2343)
          real _t245C#1 = Dot<2>(r00D67,v210D07);
          real _t245E#1 = Dot<2>(r10D6D,v210D07);
          real2 _t2460#1 = <real2>[_t245C,_t245E];
          real2 pos2462#2 = Add<real2>(_t2460,_t0D7D);
          real2 x2465#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2462);
          bool _t2464#1 = Inside<IMAGE2D<float>,2>(x2465,_t0CD1);
          if _t2464 then goto ASSIGN246B else goto ASSIGN28C1
        ASSIGN246B:  preds = [COND2468]
          real2 x246A#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v210D07);
          bool _t2469#1 = Inside<IMAGE2D<int>,2>(x246A,_t0CCD);
          goto JOIN246F
        JOIN246F:  preds = [ASSIGN246C,ASSIGN28C1]
          bool _t246D#1 = phi(_t2469,_t246E)
          if _t246D then goto ASSIGN24B0 else goto JOIN2572
        ASSIGN24B0:  preds = [COND2470]
          real2 x2472#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2462);
          real2 nd2474#2 = Floor<2>(x2472);
          real2 f2473#2 = Sub<real2>(x2472,nd2474);
          int{2} n2475#8 = RealToInt<2>(nd2474);
          int t12491#1 = -1;
          int t22492#1 = Index<int{2},0>(n2475);
          int ix2490#1 = Add<int>(t12491,t22492);
          int t12494#1 = -1;
          int t22495#1 = Index<int{2},1>(n2475);
          int iy2493#1 = Add<int>(t12494,t22495);
          addr(IMAGE2D<float>) a2496#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2490,iy2493);
          real4 v02477#1 = LoadVoxels<IMAGE2D<float>,4>(a2496);
          int t1248A#1 = -1;
          int t2248B#1 = Index<int{2},0>(n2475);
          int ix2489#1 = Add<int>(t1248A,t2248B);
          int t1248D#1 = 0;
          int t2248E#1 = Index<int{2},1>(n2475);
          int iy248C#1 = Add<int>(t1248D,t2248E);
          addr(IMAGE2D<float>) a248F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2489,iy248C);
          real4 v12478#1 = LoadVoxels<IMAGE2D<float>,4>(a248F);
          int t12483#1 = -1;
          int t22484#1 = Index<int{2},0>(n2475);
          int ix2482#1 = Add<int>(t12483,t22484);
          int t12486#1 = 1;
          int t22487#1 = Index<int{2},1>(n2475);
          int iy2485#1 = Add<int>(t12486,t22487);
          addr(IMAGE2D<float>) a2488#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2482,iy2485);
          real4 v22479#1 = LoadVoxels<IMAGE2D<float>,4>(a2488);
          int t1247C#1 = -1;
          int t2247D#1 = Index<int{2},0>(n2475);
          int ix247B#1 = Add<int>(t1247C,t2247D);
          int t1247F#1 = 2;
          int t22480#1 = Index<int{2},1>(n2475);
          int iy247E#1 = Add<int>(t1247F,t22480);
          addr(IMAGE2D<float>) a2481#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix247B,iy247E);
          real4 v3247A#1 = LoadVoxels<IMAGE2D<float>,4>(a2481);
          real fy24A2#4 = Index<real2,1>(f2473);
          real r24AA#1 = 0.1e1;
          real t324A7#1 = Add<real>(fy24A2,r24AA);
          real t224A6#1 = fy24A2;
          real r24A9#1 = 0.1e1;
          real t124A5#1 = Sub<real>(fy24A2,r24A9);
          real r24A8#1 = 0.2e1;
          real t024A4#1 = Sub<real>(fy24A2,r24A8);
          real4 a24A3#1 = <real4>[t324A7,t224A6,t124A5,t024A4];
          real4 hy2498#1 = EvalKernel<4,bspln3,0>(a24A3);
          real fx2499#4 = Index<real2,0>(f2473);
          real r24A1#1 = 0.1e1;
          real t3249E#1 = Add<real>(fx2499,r24A1);
          real t2249D#1 = fx2499;
          real r24A0#1 = 0.1e1;
          real t1249C#1 = Sub<real>(fx2499,r24A0);
          real r249F#1 = 0.2e1;
          real t0249B#1 = Sub<real>(fx2499,r249F);
          real4 a249A#1 = <real4>[t3249E,t2249D,t1249C,t0249B];
          real4 hx2497#4 = EvalKernel<4,bspln3,0>(a249A);
          real t024AC#1 = Dot<4>(v02477,hx2497);
          real t124AD#1 = Dot<4>(v12478,hx2497);
          real t224AE#1 = Dot<4>(v22479,hx2497);
          real t324AF#1 = Dot<4>(v3247A,hx2497);
          real4 tv24AB#1 = <real4>[t024AC,t124AD,t224AE,t324AF];
          real _t2471#1 = Dot<4>(hy2498,tv24AB);
          real2 x24EF#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v210D07);
          real2 nd24F1#2 = Floor<2>(x24EF);
          real2 f24F0#2 = Sub<real2>(x24EF,nd24F1);
          int{2} n24F2#8 = RealToInt<2>(nd24F1);
          int t1250E#1 = -1;
          int t2250F#1 = Index<int{2},0>(n24F2);
          int ix250D#1 = Add<int>(t1250E,t2250F);
          int t12511#1 = -1;
          int t22512#1 = Index<int{2},1>(n24F2);
          int iy2510#1 = Add<int>(t12511,t22512);
          addr(IMAGE2D<int>) a2513#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix250D,iy2510);
          real4 v024F4#1 = LoadVoxels<IMAGE2D<int>,4>(a2513);
          int t12507#1 = -1;
          int t22508#1 = Index<int{2},0>(n24F2);
          int ix2506#1 = Add<int>(t12507,t22508);
          int t1250A#1 = 0;
          int t2250B#1 = Index<int{2},1>(n24F2);
          int iy2509#1 = Add<int>(t1250A,t2250B);
          addr(IMAGE2D<int>) a250C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2506,iy2509);
          real4 v124F5#1 = LoadVoxels<IMAGE2D<int>,4>(a250C);
          int t12500#1 = -1;
          int t22501#1 = Index<int{2},0>(n24F2);
          int ix24FF#1 = Add<int>(t12500,t22501);
          int t12503#1 = 1;
          int t22504#1 = Index<int{2},1>(n24F2);
          int iy2502#1 = Add<int>(t12503,t22504);
          addr(IMAGE2D<int>) a2505#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix24FF,iy2502);
          real4 v224F6#1 = LoadVoxels<IMAGE2D<int>,4>(a2505);
          int t124F9#1 = -1;
          int t224FA#1 = Index<int{2},0>(n24F2);
          int ix24F8#1 = Add<int>(t124F9,t224FA);
          int t124FC#1 = 2;
          int t224FD#1 = Index<int{2},1>(n24F2);
          int iy24FB#1 = Add<int>(t124FC,t224FD);
          addr(IMAGE2D<int>) a24FE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix24F8,iy24FB);
          real4 v324F7#1 = LoadVoxels<IMAGE2D<int>,4>(a24FE);
          real fy251F#4 = Index<real2,1>(f24F0);
          real r2527#1 = 0.1e1;
          real t32524#1 = Add<real>(fy251F,r2527);
          real t22523#1 = fy251F;
          real r2526#1 = 0.1e1;
          real t12522#1 = Sub<real>(fy251F,r2526);
          real r2525#1 = 0.2e1;
          real t02521#1 = Sub<real>(fy251F,r2525);
          real4 a2520#1 = <real4>[t32524,t22523,t12522,t02521];
          real4 hy2515#1 = EvalKernel<4,bspln3,0>(a2520);
          real fx2516#4 = Index<real2,0>(f24F0);
          real r251E#1 = 0.1e1;
          real t3251B#1 = Add<real>(fx2516,r251E);
          real t2251A#1 = fx2516;
          real r251D#1 = 0.1e1;
          real t12519#1 = Sub<real>(fx2516,r251D);
          real r251C#1 = 0.2e1;
          real t02518#1 = Sub<real>(fx2516,r251C);
          real4 a2517#1 = <real4>[t3251B,t2251A,t12519,t02518];
          real4 hx2514#4 = EvalKernel<4,bspln3,0>(a2517);
          real t02529#1 = Dot<4>(v024F4,hx2514);
          real t1252A#1 = Dot<4>(v124F5,hx2514);
          real t2252B#1 = Dot<4>(v224F6,hx2514);
          real t3252C#1 = Dot<4>(v324F7,hx2514);
          real4 tv2528#1 = <real4>[t02529,t1252A,t2252B,t3252C];
          real _t24EE#1 = Dot<4>(hy2515,tv2528);
          real _t256B#2 = Sub<real>(_t2471,_t24EE);
          real _t256D#1 = Mul<real>(_t256B,_t256B);
          real score256F#1 = Add<real>(score245A,_t256D);
          goto JOIN2572
        JOIN2572:  preds = [ASSIGN2570,COND2470]
          real score2571#2 = phi(score256F,score245A)
          real _t2573#1 = Dot<2>(r00D67,v220D09);
          real _t2575#1 = Dot<2>(r10D6D,v220D09);
          real2 _t2577#1 = <real2>[_t2573,_t2575];
          real2 pos2579#2 = Add<real2>(_t2577,_t0D7D);
          real2 x257C#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2579);
          bool _t257B#1 = Inside<IMAGE2D<float>,2>(x257C,_t0CD1);
          if _t257B then goto ASSIGN2582 else goto ASSIGN28C0
        ASSIGN2582:  preds = [COND257F]
          real2 x2581#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v220D09);
          bool _t2580#1 = Inside<IMAGE2D<int>,2>(x2581,_t0CCD);
          goto JOIN2586
        JOIN2586:  preds = [ASSIGN2583,ASSIGN28C0]
          bool _t2584#1 = phi(_t2580,_t2585)
          if _t2584 then goto ASSIGN25C7 else goto JOIN2689
        ASSIGN25C7:  preds = [COND2587]
          real2 x2589#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2579);
          real2 nd258B#2 = Floor<2>(x2589);
          real2 f258A#2 = Sub<real2>(x2589,nd258B);
          int{2} n258C#8 = RealToInt<2>(nd258B);
          int t125A8#1 = -1;
          int t225A9#1 = Index<int{2},0>(n258C);
          int ix25A7#1 = Add<int>(t125A8,t225A9);
          int t125AB#1 = -1;
          int t225AC#1 = Index<int{2},1>(n258C);
          int iy25AA#1 = Add<int>(t125AB,t225AC);
          addr(IMAGE2D<float>) a25AD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix25A7,iy25AA);
          real4 v0258E#1 = LoadVoxels<IMAGE2D<float>,4>(a25AD);
          int t125A1#1 = -1;
          int t225A2#1 = Index<int{2},0>(n258C);
          int ix25A0#1 = Add<int>(t125A1,t225A2);
          int t125A4#1 = 0;
          int t225A5#1 = Index<int{2},1>(n258C);
          int iy25A3#1 = Add<int>(t125A4,t225A5);
          addr(IMAGE2D<float>) a25A6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix25A0,iy25A3);
          real4 v1258F#1 = LoadVoxels<IMAGE2D<float>,4>(a25A6);
          int t1259A#1 = -1;
          int t2259B#1 = Index<int{2},0>(n258C);
          int ix2599#1 = Add<int>(t1259A,t2259B);
          int t1259D#1 = 1;
          int t2259E#1 = Index<int{2},1>(n258C);
          int iy259C#1 = Add<int>(t1259D,t2259E);
          addr(IMAGE2D<float>) a259F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2599,iy259C);
          real4 v22590#1 = LoadVoxels<IMAGE2D<float>,4>(a259F);
          int t12593#1 = -1;
          int t22594#1 = Index<int{2},0>(n258C);
          int ix2592#1 = Add<int>(t12593,t22594);
          int t12596#1 = 2;
          int t22597#1 = Index<int{2},1>(n258C);
          int iy2595#1 = Add<int>(t12596,t22597);
          addr(IMAGE2D<float>) a2598#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2592,iy2595);
          real4 v32591#1 = LoadVoxels<IMAGE2D<float>,4>(a2598);
          real fy25B9#4 = Index<real2,1>(f258A);
          real r25C1#1 = 0.1e1;
          real t325BE#1 = Add<real>(fy25B9,r25C1);
          real t225BD#1 = fy25B9;
          real r25C0#1 = 0.1e1;
          real t125BC#1 = Sub<real>(fy25B9,r25C0);
          real r25BF#1 = 0.2e1;
          real t025BB#1 = Sub<real>(fy25B9,r25BF);
          real4 a25BA#1 = <real4>[t325BE,t225BD,t125BC,t025BB];
          real4 hy25AF#1 = EvalKernel<4,bspln3,0>(a25BA);
          real fx25B0#4 = Index<real2,0>(f258A);
          real r25B8#1 = 0.1e1;
          real t325B5#1 = Add<real>(fx25B0,r25B8);
          real t225B4#1 = fx25B0;
          real r25B7#1 = 0.1e1;
          real t125B3#1 = Sub<real>(fx25B0,r25B7);
          real r25B6#1 = 0.2e1;
          real t025B2#1 = Sub<real>(fx25B0,r25B6);
          real4 a25B1#1 = <real4>[t325B5,t225B4,t125B3,t025B2];
          real4 hx25AE#4 = EvalKernel<4,bspln3,0>(a25B1);
          real t025C3#1 = Dot<4>(v0258E,hx25AE);
          real t125C4#1 = Dot<4>(v1258F,hx25AE);
          real t225C5#1 = Dot<4>(v22590,hx25AE);
          real t325C6#1 = Dot<4>(v32591,hx25AE);
          real4 tv25C2#1 = <real4>[t025C3,t125C4,t225C5,t325C6];
          real _t2588#1 = Dot<4>(hy25AF,tv25C2);
          real2 x2606#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v220D09);
          real2 nd2608#2 = Floor<2>(x2606);
          real2 f2607#2 = Sub<real2>(x2606,nd2608);
          int{2} n2609#8 = RealToInt<2>(nd2608);
          int t12625#1 = -1;
          int t22626#1 = Index<int{2},0>(n2609);
          int ix2624#1 = Add<int>(t12625,t22626);
          int t12628#1 = -1;
          int t22629#1 = Index<int{2},1>(n2609);
          int iy2627#1 = Add<int>(t12628,t22629);
          addr(IMAGE2D<int>) a262A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2624,iy2627);
          real4 v0260B#1 = LoadVoxels<IMAGE2D<int>,4>(a262A);
          int t1261E#1 = -1;
          int t2261F#1 = Index<int{2},0>(n2609);
          int ix261D#1 = Add<int>(t1261E,t2261F);
          int t12621#1 = 0;
          int t22622#1 = Index<int{2},1>(n2609);
          int iy2620#1 = Add<int>(t12621,t22622);
          addr(IMAGE2D<int>) a2623#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix261D,iy2620);
          real4 v1260C#1 = LoadVoxels<IMAGE2D<int>,4>(a2623);
          int t12617#1 = -1;
          int t22618#1 = Index<int{2},0>(n2609);
          int ix2616#1 = Add<int>(t12617,t22618);
          int t1261A#1 = 1;
          int t2261B#1 = Index<int{2},1>(n2609);
          int iy2619#1 = Add<int>(t1261A,t2261B);
          addr(IMAGE2D<int>) a261C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2616,iy2619);
          real4 v2260D#1 = LoadVoxels<IMAGE2D<int>,4>(a261C);
          int t12610#1 = -1;
          int t22611#1 = Index<int{2},0>(n2609);
          int ix260F#1 = Add<int>(t12610,t22611);
          int t12613#1 = 2;
          int t22614#1 = Index<int{2},1>(n2609);
          int iy2612#1 = Add<int>(t12613,t22614);
          addr(IMAGE2D<int>) a2615#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix260F,iy2612);
          real4 v3260E#1 = LoadVoxels<IMAGE2D<int>,4>(a2615);
          real fy2636#4 = Index<real2,1>(f2607);
          real r263E#1 = 0.1e1;
          real t3263B#1 = Add<real>(fy2636,r263E);
          real t2263A#1 = fy2636;
          real r263D#1 = 0.1e1;
          real t12639#1 = Sub<real>(fy2636,r263D);
          real r263C#1 = 0.2e1;
          real t02638#1 = Sub<real>(fy2636,r263C);
          real4 a2637#1 = <real4>[t3263B,t2263A,t12639,t02638];
          real4 hy262C#1 = EvalKernel<4,bspln3,0>(a2637);
          real fx262D#4 = Index<real2,0>(f2607);
          real r2635#1 = 0.1e1;
          real t32632#1 = Add<real>(fx262D,r2635);
          real t22631#1 = fx262D;
          real r2634#1 = 0.1e1;
          real t12630#1 = Sub<real>(fx262D,r2634);
          real r2633#1 = 0.2e1;
          real t0262F#1 = Sub<real>(fx262D,r2633);
          real4 a262E#1 = <real4>[t32632,t22631,t12630,t0262F];
          real4 hx262B#4 = EvalKernel<4,bspln3,0>(a262E);
          real t02640#1 = Dot<4>(v0260B,hx262B);
          real t12641#1 = Dot<4>(v1260C,hx262B);
          real t22642#1 = Dot<4>(v2260D,hx262B);
          real t32643#1 = Dot<4>(v3260E,hx262B);
          real4 tv263F#1 = <real4>[t02640,t12641,t22642,t32643];
          real _t2605#1 = Dot<4>(hy262C,tv263F);
          real _t2682#2 = Sub<real>(_t2588,_t2605);
          real _t2684#1 = Mul<real>(_t2682,_t2682);
          real score2686#1 = Add<real>(score2571,_t2684);
          goto JOIN2689
        JOIN2689:  preds = [ASSIGN2687,COND2587]
          real score2688#2 = phi(score2686,score2571)
          real _t268A#1 = Dot<2>(r00D67,v230D0B);
          real _t268C#1 = Dot<2>(r10D6D,v230D0B);
          real2 _t268E#1 = <real2>[_t268A,_t268C];
          real2 pos2690#2 = Add<real2>(_t268E,_t0D7D);
          real2 x2693#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2690);
          bool _t2692#1 = Inside<IMAGE2D<float>,2>(x2693,_t0CD1);
          if _t2692 then goto ASSIGN2699 else goto ASSIGN28BF
        ASSIGN2699:  preds = [COND2696]
          real2 x2698#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v230D0B);
          bool _t2697#1 = Inside<IMAGE2D<int>,2>(x2698,_t0CCD);
          goto JOIN269D
        JOIN269D:  preds = [ASSIGN269A,ASSIGN28BF]
          bool _t269B#1 = phi(_t2697,_t269C)
          if _t269B then goto ASSIGN26DE else goto JOIN27A0
        ASSIGN26DE:  preds = [COND269E]
          real2 x26A0#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2690);
          real2 nd26A2#2 = Floor<2>(x26A0);
          real2 f26A1#2 = Sub<real2>(x26A0,nd26A2);
          int{2} n26A3#8 = RealToInt<2>(nd26A2);
          int t126BF#1 = -1;
          int t226C0#1 = Index<int{2},0>(n26A3);
          int ix26BE#1 = Add<int>(t126BF,t226C0);
          int t126C2#1 = -1;
          int t226C3#1 = Index<int{2},1>(n26A3);
          int iy26C1#1 = Add<int>(t126C2,t226C3);
          addr(IMAGE2D<float>) a26C4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix26BE,iy26C1);
          real4 v026A5#1 = LoadVoxels<IMAGE2D<float>,4>(a26C4);
          int t126B8#1 = -1;
          int t226B9#1 = Index<int{2},0>(n26A3);
          int ix26B7#1 = Add<int>(t126B8,t226B9);
          int t126BB#1 = 0;
          int t226BC#1 = Index<int{2},1>(n26A3);
          int iy26BA#1 = Add<int>(t126BB,t226BC);
          addr(IMAGE2D<float>) a26BD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix26B7,iy26BA);
          real4 v126A6#1 = LoadVoxels<IMAGE2D<float>,4>(a26BD);
          int t126B1#1 = -1;
          int t226B2#1 = Index<int{2},0>(n26A3);
          int ix26B0#1 = Add<int>(t126B1,t226B2);
          int t126B4#1 = 1;
          int t226B5#1 = Index<int{2},1>(n26A3);
          int iy26B3#1 = Add<int>(t126B4,t226B5);
          addr(IMAGE2D<float>) a26B6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix26B0,iy26B3);
          real4 v226A7#1 = LoadVoxels<IMAGE2D<float>,4>(a26B6);
          int t126AA#1 = -1;
          int t226AB#1 = Index<int{2},0>(n26A3);
          int ix26A9#1 = Add<int>(t126AA,t226AB);
          int t126AD#1 = 2;
          int t226AE#1 = Index<int{2},1>(n26A3);
          int iy26AC#1 = Add<int>(t126AD,t226AE);
          addr(IMAGE2D<float>) a26AF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix26A9,iy26AC);
          real4 v326A8#1 = LoadVoxels<IMAGE2D<float>,4>(a26AF);
          real fy26D0#4 = Index<real2,1>(f26A1);
          real r26D8#1 = 0.1e1;
          real t326D5#1 = Add<real>(fy26D0,r26D8);
          real t226D4#1 = fy26D0;
          real r26D7#1 = 0.1e1;
          real t126D3#1 = Sub<real>(fy26D0,r26D7);
          real r26D6#1 = 0.2e1;
          real t026D2#1 = Sub<real>(fy26D0,r26D6);
          real4 a26D1#1 = <real4>[t326D5,t226D4,t126D3,t026D2];
          real4 hy26C6#1 = EvalKernel<4,bspln3,0>(a26D1);
          real fx26C7#4 = Index<real2,0>(f26A1);
          real r26CF#1 = 0.1e1;
          real t326CC#1 = Add<real>(fx26C7,r26CF);
          real t226CB#1 = fx26C7;
          real r26CE#1 = 0.1e1;
          real t126CA#1 = Sub<real>(fx26C7,r26CE);
          real r26CD#1 = 0.2e1;
          real t026C9#1 = Sub<real>(fx26C7,r26CD);
          real4 a26C8#1 = <real4>[t326CC,t226CB,t126CA,t026C9];
          real4 hx26C5#4 = EvalKernel<4,bspln3,0>(a26C8);
          real t026DA#1 = Dot<4>(v026A5,hx26C5);
          real t126DB#1 = Dot<4>(v126A6,hx26C5);
          real t226DC#1 = Dot<4>(v226A7,hx26C5);
          real t326DD#1 = Dot<4>(v326A8,hx26C5);
          real4 tv26D9#1 = <real4>[t026DA,t126DB,t226DC,t326DD];
          real _t269F#1 = Dot<4>(hy26C6,tv26D9);
          real2 x271D#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v230D0B);
          real2 nd271F#2 = Floor<2>(x271D);
          real2 f271E#2 = Sub<real2>(x271D,nd271F);
          int{2} n2720#8 = RealToInt<2>(nd271F);
          int t1273C#1 = -1;
          int t2273D#1 = Index<int{2},0>(n2720);
          int ix273B#1 = Add<int>(t1273C,t2273D);
          int t1273F#1 = -1;
          int t22740#1 = Index<int{2},1>(n2720);
          int iy273E#1 = Add<int>(t1273F,t22740);
          addr(IMAGE2D<int>) a2741#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix273B,iy273E);
          real4 v02722#1 = LoadVoxels<IMAGE2D<int>,4>(a2741);
          int t12735#1 = -1;
          int t22736#1 = Index<int{2},0>(n2720);
          int ix2734#1 = Add<int>(t12735,t22736);
          int t12738#1 = 0;
          int t22739#1 = Index<int{2},1>(n2720);
          int iy2737#1 = Add<int>(t12738,t22739);
          addr(IMAGE2D<int>) a273A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2734,iy2737);
          real4 v12723#1 = LoadVoxels<IMAGE2D<int>,4>(a273A);
          int t1272E#1 = -1;
          int t2272F#1 = Index<int{2},0>(n2720);
          int ix272D#1 = Add<int>(t1272E,t2272F);
          int t12731#1 = 1;
          int t22732#1 = Index<int{2},1>(n2720);
          int iy2730#1 = Add<int>(t12731,t22732);
          addr(IMAGE2D<int>) a2733#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix272D,iy2730);
          real4 v22724#1 = LoadVoxels<IMAGE2D<int>,4>(a2733);
          int t12727#1 = -1;
          int t22728#1 = Index<int{2},0>(n2720);
          int ix2726#1 = Add<int>(t12727,t22728);
          int t1272A#1 = 2;
          int t2272B#1 = Index<int{2},1>(n2720);
          int iy2729#1 = Add<int>(t1272A,t2272B);
          addr(IMAGE2D<int>) a272C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2726,iy2729);
          real4 v32725#1 = LoadVoxels<IMAGE2D<int>,4>(a272C);
          real fy274D#4 = Index<real2,1>(f271E);
          real r2755#1 = 0.1e1;
          real t32752#1 = Add<real>(fy274D,r2755);
          real t22751#1 = fy274D;
          real r2754#1 = 0.1e1;
          real t12750#1 = Sub<real>(fy274D,r2754);
          real r2753#1 = 0.2e1;
          real t0274F#1 = Sub<real>(fy274D,r2753);
          real4 a274E#1 = <real4>[t32752,t22751,t12750,t0274F];
          real4 hy2743#1 = EvalKernel<4,bspln3,0>(a274E);
          real fx2744#4 = Index<real2,0>(f271E);
          real r274C#1 = 0.1e1;
          real t32749#1 = Add<real>(fx2744,r274C);
          real t22748#1 = fx2744;
          real r274B#1 = 0.1e1;
          real t12747#1 = Sub<real>(fx2744,r274B);
          real r274A#1 = 0.2e1;
          real t02746#1 = Sub<real>(fx2744,r274A);
          real4 a2745#1 = <real4>[t32749,t22748,t12747,t02746];
          real4 hx2742#4 = EvalKernel<4,bspln3,0>(a2745);
          real t02757#1 = Dot<4>(v02722,hx2742);
          real t12758#1 = Dot<4>(v12723,hx2742);
          real t22759#1 = Dot<4>(v22724,hx2742);
          real t3275A#1 = Dot<4>(v32725,hx2742);
          real4 tv2756#1 = <real4>[t02757,t12758,t22759,t3275A];
          real _t271C#1 = Dot<4>(hy2743,tv2756);
          real _t2799#2 = Sub<real>(_t269F,_t271C);
          real _t279B#1 = Mul<real>(_t2799,_t2799);
          real score279D#1 = Add<real>(score2688,_t279B);
          goto JOIN27A0
        JOIN27A0:  preds = [ASSIGN279E,COND269E]
          real score279F#2 = phi(score279D,score2688)
          real _t27A1#1 = Dot<2>(r00D67,v240D0D);
          real _t27A3#1 = Dot<2>(r10D6D,v240D0D);
          real2 _t27A5#1 = <real2>[_t27A1,_t27A3];
          real2 pos27A7#3 = Add<real2>(_t27A5,_t0D7D);
          real2 x27AA#1 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos27A7);
          bool _t27A9#1 = Inside<IMAGE2D<float>,2>(x27AA,_t0CD1);
          if _t27A9 then goto ASSIGN27B0 else goto ASSIGN28BE
        ASSIGN27B0:  preds = [COND27AD]
          real2 x27AF#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v240D0D);
          bool _t27AE#1 = Inside<IMAGE2D<int>,2>(x27AF,_t0CCD);
          goto JOIN27B4
        JOIN27B4:  preds = [ASSIGN27B1,ASSIGN28BE]
          bool _t27B2#1 = phi(_t27AE,_t27B3)
          if _t27B2 then goto ASSIGN27F5 else goto JOIN28B7
        ASSIGN27F5:  preds = [COND27B5]
          real2 x27B7#2 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos27A7);
          real2 nd27B9#2 = Floor<2>(x27B7);
          real2 f27B8#2 = Sub<real2>(x27B7,nd27B9);
          int{2} n27BA#8 = RealToInt<2>(nd27B9);
          int t127D6#1 = -1;
          int t227D7#1 = Index<int{2},0>(n27BA);
          int ix27D5#1 = Add<int>(t127D6,t227D7);
          int t127D9#1 = -1;
          int t227DA#1 = Index<int{2},1>(n27BA);
          int iy27D8#1 = Add<int>(t127D9,t227DA);
          addr(IMAGE2D<float>) a27DB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix27D5,iy27D8);
          real4 v027BC#1 = LoadVoxels<IMAGE2D<float>,4>(a27DB);
          int t127CF#1 = -1;
          int t227D0#1 = Index<int{2},0>(n27BA);
          int ix27CE#1 = Add<int>(t127CF,t227D0);
          int t127D2#1 = 0;
          int t227D3#1 = Index<int{2},1>(n27BA);
          int iy27D1#1 = Add<int>(t127D2,t227D3);
          addr(IMAGE2D<float>) a27D4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix27CE,iy27D1);
          real4 v127BD#1 = LoadVoxels<IMAGE2D<float>,4>(a27D4);
          int t127C8#1 = -1;
          int t227C9#1 = Index<int{2},0>(n27BA);
          int ix27C7#1 = Add<int>(t127C8,t227C9);
          int t127CB#1 = 1;
          int t227CC#1 = Index<int{2},1>(n27BA);
          int iy27CA#1 = Add<int>(t127CB,t227CC);
          addr(IMAGE2D<float>) a27CD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix27C7,iy27CA);
          real4 v227BE#1 = LoadVoxels<IMAGE2D<float>,4>(a27CD);
          int t127C1#1 = -1;
          int t227C2#1 = Index<int{2},0>(n27BA);
          int ix27C0#1 = Add<int>(t127C1,t227C2);
          int t127C4#1 = 2;
          int t227C5#1 = Index<int{2},1>(n27BA);
          int iy27C3#1 = Add<int>(t127C4,t227C5);
          addr(IMAGE2D<float>) a27C6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix27C0,iy27C3);
          real4 v327BF#1 = LoadVoxels<IMAGE2D<float>,4>(a27C6);
          real fy27E7#4 = Index<real2,1>(f27B8);
          real r27EF#1 = 0.1e1;
          real t327EC#1 = Add<real>(fy27E7,r27EF);
          real t227EB#1 = fy27E7;
          real r27EE#1 = 0.1e1;
          real t127EA#1 = Sub<real>(fy27E7,r27EE);
          real r27ED#1 = 0.2e1;
          real t027E9#1 = Sub<real>(fy27E7,r27ED);
          real4 a27E8#1 = <real4>[t327EC,t227EB,t127EA,t027E9];
          real4 hy27DD#1 = EvalKernel<4,bspln3,0>(a27E8);
          real fx27DE#4 = Index<real2,0>(f27B8);
          real r27E6#1 = 0.1e1;
          real t327E3#1 = Add<real>(fx27DE,r27E6);
          real t227E2#1 = fx27DE;
          real r27E5#1 = 0.1e1;
          real t127E1#1 = Sub<real>(fx27DE,r27E5);
          real r27E4#1 = 0.2e1;
          real t027E0#1 = Sub<real>(fx27DE,r27E4);
          real4 a27DF#1 = <real4>[t327E3,t227E2,t127E1,t027E0];
          real4 hx27DC#4 = EvalKernel<4,bspln3,0>(a27DF);
          real t027F1#1 = Dot<4>(v027BC,hx27DC);
          real t127F2#1 = Dot<4>(v127BD,hx27DC);
          real t227F3#1 = Dot<4>(v227BE,hx27DC);
          real t327F4#1 = Dot<4>(v327BF,hx27DC);
          real4 tv27F0#1 = <real4>[t027F1,t127F2,t227F3,t327F4];
          real _t27B6#1 = Dot<4>(hy27DD,tv27F0);
          real2 x2834#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v240D0D);
          real2 nd2836#2 = Floor<2>(x2834);
          real2 f2835#2 = Sub<real2>(x2834,nd2836);
          int{2} n2837#8 = RealToInt<2>(nd2836);
          int t12853#1 = -1;
          int t22854#1 = Index<int{2},0>(n2837);
          int ix2852#1 = Add<int>(t12853,t22854);
          int t12856#1 = -1;
          int t22857#1 = Index<int{2},1>(n2837);
          int iy2855#1 = Add<int>(t12856,t22857);
          addr(IMAGE2D<int>) a2858#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2852,iy2855);
          real4 v02839#1 = LoadVoxels<IMAGE2D<int>,4>(a2858);
          int t1284C#1 = -1;
          int t2284D#1 = Index<int{2},0>(n2837);
          int ix284B#1 = Add<int>(t1284C,t2284D);
          int t1284F#1 = 0;
          int t22850#1 = Index<int{2},1>(n2837);
          int iy284E#1 = Add<int>(t1284F,t22850);
          addr(IMAGE2D<int>) a2851#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix284B,iy284E);
          real4 v1283A#1 = LoadVoxels<IMAGE2D<int>,4>(a2851);
          int t12845#1 = -1;
          int t22846#1 = Index<int{2},0>(n2837);
          int ix2844#1 = Add<int>(t12845,t22846);
          int t12848#1 = 1;
          int t22849#1 = Index<int{2},1>(n2837);
          int iy2847#1 = Add<int>(t12848,t22849);
          addr(IMAGE2D<int>) a284A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2844,iy2847);
          real4 v2283B#1 = LoadVoxels<IMAGE2D<int>,4>(a284A);
          int t1283E#1 = -1;
          int t2283F#1 = Index<int{2},0>(n2837);
          int ix283D#1 = Add<int>(t1283E,t2283F);
          int t12841#1 = 2;
          int t22842#1 = Index<int{2},1>(n2837);
          int iy2840#1 = Add<int>(t12841,t22842);
          addr(IMAGE2D<int>) a2843#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix283D,iy2840);
          real4 v3283C#1 = LoadVoxels<IMAGE2D<int>,4>(a2843);
          real fy2864#4 = Index<real2,1>(f2835);
          real r286C#1 = 0.1e1;
          real t32869#1 = Add<real>(fy2864,r286C);
          real t22868#1 = fy2864;
          real r286B#1 = 0.1e1;
          real t12867#1 = Sub<real>(fy2864,r286B);
          real r286A#1 = 0.2e1;
          real t02866#1 = Sub<real>(fy2864,r286A);
          real4 a2865#1 = <real4>[t32869,t22868,t12867,t02866];
          real4 hy285A#1 = EvalKernel<4,bspln3,0>(a2865);
          real fx285B#4 = Index<real2,0>(f2835);
          real r2863#1 = 0.1e1;
          real t32860#1 = Add<real>(fx285B,r2863);
          real t2285F#1 = fx285B;
          real r2862#1 = 0.1e1;
          real t1285E#1 = Sub<real>(fx285B,r2862);
          real r2861#1 = 0.2e1;
          real t0285D#1 = Sub<real>(fx285B,r2861);
          real4 a285C#1 = <real4>[t32860,t2285F,t1285E,t0285D];
          real4 hx2859#4 = EvalKernel<4,bspln3,0>(a285C);
          real t0286E#1 = Dot<4>(v02839,hx2859);
          real t1286F#1 = Dot<4>(v1283A,hx2859);
          real t22870#1 = Dot<4>(v2283B,hx2859);
          real t32871#1 = Dot<4>(v3283C,hx2859);
          real4 tv286D#1 = <real4>[t0286E,t1286F,t22870,t32871];
          real _t2833#1 = Dot<4>(hy285A,tv286D);
          real _t28B0#2 = Sub<real>(_t27B6,_t2833);
          real _t28B2#1 = Mul<real>(_t28B0,_t28B0);
          real score28B4#1 = Add<real>(score279F,_t28B2);
          goto JOIN28B7
        JOIN28B7:  preds = [ASSIGN28B5,COND27B5]
          real score28B6#1 = phi(score28B4,score279F)
          self.t = t0D49;
          self.score = score28B6;
          self.r0 = r00D67;
          self.r1 = r10D6D;
          self.pos = pos27A7;
          stabilize ()
        ASSIGN28BE:  preds = [COND27AD]
          bool _t27B3#1 = false;
          goto JOIN27B4
        ASSIGN28BF:  preds = [COND2696]
          bool _t269C#1 = false;
          goto JOIN269D
        ASSIGN28C0:  preds = [COND257F]
          bool _t2585#1 = false;
          goto JOIN2586
        ASSIGN28C1:  preds = [COND2468]
          bool _t246E#1 = false;
          goto JOIN246F
        ASSIGN28C2:  preds = [COND2351]
          bool _t2357#1 = false;
          goto JOIN2358
        ASSIGN28C3:  preds = [COND223A]
          bool _t2240#1 = false;
          goto JOIN2241
        ASSIGN28C4:  preds = [COND2123]
          bool _t2129#1 = false;
          goto JOIN212A
        ASSIGN28C5:  preds = [COND200C]
          bool _t2012#1 = false;
          goto JOIN2013
        ASSIGN28C6:  preds = [COND1EF5]
          bool _t1EFB#1 = false;
          goto JOIN1EFC
        ASSIGN28C7:  preds = [COND1DDE]
          bool _t1DE4#1 = false;
          goto JOIN1DE5
        ASSIGN28C8:  preds = [COND1CC7]
          bool _t1CCD#1 = false;
          goto JOIN1CCE
        ASSIGN28C9:  preds = [COND1BB0]
          bool _t1BB6#1 = false;
          goto JOIN1BB7
        ASSIGN28CA:  preds = [COND1A99]
          bool _t1A9F#1 = false;
          goto JOIN1AA0
        ASSIGN28CB:  preds = [COND1982]
          bool _t1988#1 = false;
          goto JOIN1989
        ASSIGN28CC:  preds = [COND186B]
          bool _t1871#1 = false;
          goto JOIN1872
        ASSIGN28CD:  preds = [COND1754]
          bool _t175A#1 = false;
          goto JOIN175B
        ASSIGN28CE:  preds = [COND163D]
          bool _t1643#1 = false;
          goto JOIN1644
        ASSIGN28CF:  preds = [COND1526]
          bool _t152C#1 = false;
          goto JOIN152D
        ASSIGN28D0:  preds = [COND140F]
          bool _t1415#1 = false;
          goto JOIN1416
        ASSIGN28D1:  preds = [COND12F8]
          bool _t12FE#1 = false;
          goto JOIN12FF
        ASSIGN28D2:  preds = [COND11E1]
          bool _t11E7#1 = false;
          goto JOIN11E8
        ASSIGN28D3:  preds = [COND10CA]
          bool _t10D0#1 = false;
          goto JOIN10D1
        ASSIGN28D4:  preds = [COND0FB3]
          bool _t0FB9#1 = false;
          goto JOIN0FBA
        ASSIGN28D5:  preds = [COND0E9C]
          bool _t0EA2#1 = false;
          goto JOIN0EA3
        ASSIGN28D6:  preds = [COND0D85]
          bool _t0D8B#1 = false;
          goto JOIN0D8C
    end Update
    method Stabilize
        ENTRY28D8:  preds = []
          real3 t28D9#1 = self.t;
          real score28DB#1 = self.score;
          real2 r028DD#1 = self.r0;
          real2 r128DF#1 = self.r1;
          real2 pos28E1#1 = self.pos;
          self.t = t28D9;
          self.score = score28DB;
          self.r0 = r028DD;
          self.r1 = r128DF;
          self.pos = pos28E1;
          return ()
    end Stabilize
  end R
#### end program ####
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
##### MidIL after value numbering ####
## properties
  none
## globals
  global int T0D0F#0
  global int F0D10#0
  global real2 v000CD5#4
  global real2 v010CD9#4
  global real2 v020CDD#4
  global real2 v030CE1#4
  global real2 v040CE5#4
  global real2 v050CE7#4
  global real2 v060CE9#4
  global real2 v070CEB#4
  global real2 v080CED#4
  global real2 v090CEF#4
  global real2 v100CF1#4
  global real2 v110CF3#4
  global real2 v120CF5#4
  global real2 v130CF7#4
  global real2 v140CF9#4
  global real2 v150CFB#4
  global real2 v160CFD#4
  global real2 v170CFF#4
  global real2 v180D01#4
  global real2 v190D03#4
  global real2 v200D05#4
  global real2 v210D07#4
  global real2 v220D09#4
  global real2 v230D0B#4
  global real2 v240D0D#4
  global string _t0CCB#1
  global image(IMAGE2D<int>) _t0CCD#175
  global int _t0CC9#0
  global string _t0CCF#1
  global image(IMAGE2D<float>) _t0CD1#175
  global real _t0CD3#10
  global real _t0CD7#11
  global real _t0CDF#10
  global real _t0CDB#11
  global real _t0CE3#10
## global initialization
  ENTRY0CC8:  preds = []
    int _t0CC9#0 = 0;
    string _t0CCB#1 = "square-template.nrrd";
    image(IMAGE2D<int>) _t0CCD#175 = LoadImage<IMAGE2D<int>>(_t0CCB);
    string _t0CCF#1 = "square-rotate.nrrd";
    image(IMAGE2D<float>) _t0CD1#175 = LoadImage<IMAGE2D<float>>(_t0CCF);
    real _t0CD3#10 = 0.0;
    real2 v000CD5#4 = <real2>[_t0CD3,_t0CD3];
    real _t0CD7#11 = 0.25e0;
    real2 v010CD9#4 = <real2>[_t0CD3,_t0CD7];
    real _t0CDB#11 = 0.5e0;
    real2 v020CDD#4 = <real2>[_t0CD3,_t0CDB];
    real _t0CDF#10 = Neg<real>(_t0CD7);
    real2 v030CE1#4 = <real2>[_t0CD3,_t0CDF];
    real _t0CE3#10 = Neg<real>(_t0CDB);
    real2 v040CE5#4 = <real2>[_t0CD3,_t0CE3];
    real2 v050CE7#4 = <real2>[_t0CD7,_t0CD3];
    real2 v060CE9#4 = <real2>[_t0CD7,_t0CD7];
    real2 v070CEB#4 = <real2>[_t0CD7,_t0CDB];
    real2 v080CED#4 = <real2>[_t0CD7,_t0CDF];
    real2 v090CEF#4 = <real2>[_t0CD7,_t0CE3];
    real2 v100CF1#4 = <real2>[_t0CDB,_t0CD3];
    real2 v110CF3#4 = <real2>[_t0CDB,_t0CD7];
    real2 v120CF5#4 = <real2>[_t0CDB,_t0CDB];
    real2 v130CF7#4 = <real2>[_t0CDB,_t0CDF];
    real2 v140CF9#4 = <real2>[_t0CDB,_t0CE3];
    real2 v150CFB#4 = <real2>[_t0CDF,_t0CD3];
    real2 v160CFD#4 = <real2>[_t0CDF,_t0CD7];
    real2 v170CFF#4 = <real2>[_t0CDF,_t0CDB];
    real2 v180D01#4 = <real2>[_t0CDF,_t0CDF];
    real2 v190D03#4 = <real2>[_t0CDF,_t0CE3];
    real2 v200D05#4 = <real2>[_t0CE3,_t0CD3];
    real2 v210D07#4 = <real2>[_t0CE3,_t0CD7];
    real2 v220D09#4 = <real2>[_t0CE3,_t0CDB];
    real2 v230D0B#4 = <real2>[_t0CE3,_t0CDF];
    real2 v240D0D#4 = <real2>[_t0CE3,_t0CE3];
    return (T0D0F,F0D10,v000CD5,v010CD9,v020CDD,v030CE1,v040CE5,v050CE7,v060CE9,v070CEB,v080CED,v090CEF,v100CF1,v110CF3,v120CF5,v130CF7,v140CF9,v150CFB,v160CFD,v170CFF,v180D01,v190D03,v200D05,v210D07,v220D09,v230D0B,v240D0D,_t0CCB,_t0CCD,_t0CC9,_t0CCF,_t0CD1,_t0CD3,_t0CD7,_t0CDF,_t0CDB,_t0CE3)
## initially
  ARRAY
    ENTRY0D17:  preds = []
      int _t0D13#4 = 0;
      int _t0D14#4 = 60;
      live vars = (_t0D14,_t0D13)
    for int i0D12#1 = _t0D13 .. _t0D14
      for int j0D15#1 = _t0D13 .. _t0D14
        for int k0D16#1 = _t0D13 .. _t0D14
          ENTRY0D1B:  preds = []
            live vars = ()
          new R(i0D12,j0D15,k0D16);
## strands
  strand R (int i0D1D#1, int j0D1E#1, int k0D1F#1)
    state: real3 self.t;output real self.score;real2 self.r0;real2 self.r1;real2 self.pos;
      ENTRY0D25:  preds = []
        real _t0D26#1 = IntToReal(i0D1D);
        real _t0D28#3 = 0.60e2;
        real _t0D2A#1 = Div<real>(_t0D26,_t0D28);
        real _t0D2C#3 = 0.5e0;
        real _t0D2E#1 = Sub<real>(_t0D2A,_t0D2C);
        real _t0D30#1 = IntToReal(j0D1E);
        real _t0D32#1 = Div<real>(_t0D30,_t0D28);
        real _t0D34#1 = Sub<real>(_t0D32,_t0D2C);
        real _t0D36#1 = IntToReal(k0D1F);
        real _t0D38#1 = Div<real>(_t0D36,_t0D28);
        real _t0D3A#1 = Sub<real>(_t0D38,_t0D2C);
        real3 t0D3C#1 = <real3>[_t0D2E,_t0D34,_t0D3A];
        real score0D3E#3 = 0.0;
        real2 r00D40#3 = <real2>[score0D3E,score0D3E];
        self.t = t0D3C;
        self.score = score0D3E;
        self.r0 = r00D40;
        self.r1 = r00D40;
        self.pos = r00D40;
        strand_init ()
    method Update
        ENTRY0D48:  preds = []
          real3 t0D49#4 = self.t;
          real score0D4B#2 = self.score;
          real _t0D4D#202 = 0.1e1;
          real _t0D4F#103 = 0.2e1;
          int _t0D51#51 = 2;
          real _t0D53#6 = Subscript<real3>(t0D49,_t0D51);
          real _t0D55#1 = Mul<real>(_t0D4F,_t0D53);
          real _t0D57#1 = Mul<real>(_t0D55,_t0D53);
          real _t0D59#2 = Sub<real>(_t0D4D,_t0D57);
          real _t0D5B#1 = Neg<real>(_t0D4F);
          real _t0D5D#1 = Mul<real>(_t0D53,_t0D53);
          real _t0D5F#1 = Sub<real>(_t0D4D,_t0D5D);
          real _t0D61#2 = sqrt(_t0D5F);
          real _t0D63#1 = Mul<real>(_t0D5B,_t0D61);
          real _t0D65#1 = Mul<real>(_t0D63,_t0D53);
          real2 r00D67#26 = <real2>[_t0D59,_t0D65];
          real _t0D69#1 = Mul<real>(_t0D4F,_t0D61);
          real _t0D6B#1 = Mul<real>(_t0D69,_t0D53);
          real2 r10D6D#26 = <real2>[_t0D6B,_t0D59];
          real _t0D6F#1 = Dot<2>(r00D67,v000CD5);
          real _t0D71#1 = Dot<2>(r10D6D,v000CD5);
          real2 _t0D73#1 = <real2>[_t0D6F,_t0D71];
          int _t0D75#51 = 0;
          real _t0D77#1 = Subscript<real3>(t0D49,_t0D75);
          int _t0D79#51 = 1;
          real _t0D7B#1 = Subscript<real3>(t0D49,_t0D79);
          real2 _t0D7D#25 = <real2>[_t0D77,_t0D7B];
          real2 pos0D7F#2 = Add<real2>(_t0D73,_t0D7D);
          real2 x0D82#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos0D7F);
          bool _t0D81#1 = Inside<IMAGE2D<float>,2>(x0D82,_t0CD1);
          if _t0D81 then goto ASSIGN0D88 else goto ASSIGN28D6
        ASSIGN0D88:  preds = [COND0D85]
          real2 x0D87#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v000CD5);
          bool _t0D86#1 = Inside<IMAGE2D<int>,2>(x0D87,_t0CCD);
          goto JOIN0D8C
        JOIN0D8C:  preds = [ASSIGN0D89,ASSIGN28D6]
          bool _t0D8A#1 = phi(_t0D86,_t0D8B)
          if _t0D8A then goto ASSIGN28E9 else goto JOIN0E8F
        ASSIGN28E9:  preds = [COND0D8D]
          real2 nd0D91#2 = Floor<2>(x0D82);
          real2 f0D90#2 = Sub<real2>(x0D82,nd0D91);
          int{2} n0D92#8 = RealToInt<2>(nd0D91);
          int t10DAE#4 = -1;
          int t20DAF#1 = Index<int{2},0>(n0D92);
          int ix0DAD#4 = Add<int>(t10DAE,t20DAF);
          int t20DB2#4 = Index<int{2},1>(n0D92);
          int iy0DB0#1 = Add<int>(t10DAE,t20DB2);
          addr(IMAGE2D<float>) a0DB3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0DAD,iy0DB0);
          real4 v00D94#1 = LoadVoxels<IMAGE2D<float>,4>(a0DB3);
          int iy0DA9#1 = Add<int>(_t0D75,t20DB2);
          addr(IMAGE2D<float>) a0DAC#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0DAD,iy0DA9);
          real4 v10D95#1 = LoadVoxels<IMAGE2D<float>,4>(a0DAC);
          int iy0DA2#1 = Add<int>(_t0D79,t20DB2);
          addr(IMAGE2D<float>) a0DA5#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0DAD,iy0DA2);
          real4 v20D96#1 = LoadVoxels<IMAGE2D<float>,4>(a0DA5);
          int iy0D9B#1 = Add<int>(_t0D51,t20DB2);
          addr(IMAGE2D<float>) a0D9E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0DAD,iy0D9B);
          real4 v30D97#1 = LoadVoxels<IMAGE2D<float>,4>(a0D9E);
          real fy0DBF#5 = Index<real2,1>(f0D90);
          real t30DC4#1 = Add<real>(fy0DBF,_t0D4D);
          real t10DC2#1 = Sub<real>(fy0DBF,_t0D4D);
          real t00DC1#1 = Sub<real>(fy0DBF,_t0D4F);
          real4 a0DC0#1 = <real4>[t30DC4,fy0DBF,t10DC2,t00DC1];
          real4 hy0DB5#1 = EvalKernel<4,bspln3,0>(a0DC0);
          real fx0DB6#5 = Index<real2,0>(f0D90);
          real t30DBB#1 = Add<real>(fx0DB6,_t0D4D);
          real t10DB9#1 = Sub<real>(fx0DB6,_t0D4D);
          real t00DB8#1 = Sub<real>(fx0DB6,_t0D4F);
          real4 a0DB7#1 = <real4>[t30DBB,fx0DB6,t10DB9,t00DB8];
          real4 hx0DB4#4 = EvalKernel<4,bspln3,0>(a0DB7);
          real t00DC9#1 = Dot<4>(v00D94,hx0DB4);
          real t10DCA#1 = Dot<4>(v10D95,hx0DB4);
          real t20DCB#1 = Dot<4>(v20D96,hx0DB4);
          real t30DCC#1 = Dot<4>(v30D97,hx0DB4);
          real4 tv0DC8#1 = <real4>[t00DC9,t10DCA,t20DCB,t30DCC];
          real _t0D8E#1 = Dot<4>(hy0DB5,tv0DC8);
          real2 x0E0C#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v000CD5);
          real2 nd0E0E#2 = Floor<2>(x0E0C);
          real2 f0E0D#2 = Sub<real2>(x0E0C,nd0E0E);
          int{2} n0E0F#8 = RealToInt<2>(nd0E0E);
          int t20E2C#1 = Index<int{2},0>(n0E0F);
          int ix0E2A#4 = Add<int>(t10DAE,t20E2C);
          int t20E2F#4 = Index<int{2},1>(n0E0F);
          int iy0E2D#1 = Add<int>(t10DAE,t20E2F);
          addr(IMAGE2D<int>) a0E30#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0E2A,iy0E2D);
          real4 v00E11#1 = LoadVoxels<IMAGE2D<int>,4>(a0E30);
          int iy0E26#1 = Add<int>(_t0D75,t20E2F);
          addr(IMAGE2D<int>) a0E29#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0E2A,iy0E26);
          real4 v10E12#1 = LoadVoxels<IMAGE2D<int>,4>(a0E29);
          int iy0E1F#1 = Add<int>(_t0D79,t20E2F);
          addr(IMAGE2D<int>) a0E22#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0E2A,iy0E1F);
          real4 v20E13#1 = LoadVoxels<IMAGE2D<int>,4>(a0E22);
          int iy0E18#1 = Add<int>(_t0D51,t20E2F);
          addr(IMAGE2D<int>) a0E1B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0E2A,iy0E18);
          real4 v30E14#1 = LoadVoxels<IMAGE2D<int>,4>(a0E1B);
          real fy0E3C#5 = Index<real2,1>(f0E0D);
          real t30E41#1 = Add<real>(fy0E3C,_t0D4D);
          real t10E3F#1 = Sub<real>(fy0E3C,_t0D4D);
          real t00E3E#1 = Sub<real>(fy0E3C,_t0D4F);
          real4 a0E3D#1 = <real4>[t30E41,fy0E3C,t10E3F,t00E3E];
          real4 hy0E32#1 = EvalKernel<4,bspln3,0>(a0E3D);
          real fx0E33#5 = Index<real2,0>(f0E0D);
          real t30E38#1 = Add<real>(fx0E33,_t0D4D);
          real t10E36#1 = Sub<real>(fx0E33,_t0D4D);
          real t00E35#1 = Sub<real>(fx0E33,_t0D4F);
          real4 a0E34#1 = <real4>[t30E38,fx0E33,t10E36,t00E35];
          real4 hx0E31#4 = EvalKernel<4,bspln3,0>(a0E34);
          real t00E46#1 = Dot<4>(v00E11,hx0E31);
          real t10E47#1 = Dot<4>(v10E12,hx0E31);
          real t20E48#1 = Dot<4>(v20E13,hx0E31);
          real t30E49#1 = Dot<4>(v30E14,hx0E31);
          real4 tv0E45#1 = <real4>[t00E46,t10E47,t20E48,t30E49];
          real _t0E0B#1 = Dot<4>(hy0E32,tv0E45);
          real _t0E88#2 = Sub<real>(_t0D8E,_t0E0B);
          real _t0E8A#1 = Mul<real>(_t0E88,_t0E88);
          real score0E8C#1 = Add<real>(score0D4B,_t0E8A);
          goto JOIN0E8F
        JOIN0E8F:  preds = [ASSIGN0E8D,COND0D8D]
          real score0E8E#2 = phi(score0E8C,score0D4B)
          real _t0E90#1 = Dot<2>(r00D67,v010CD9);
          real _t0E92#1 = Dot<2>(r10D6D,v010CD9);
          real2 _t0E94#1 = <real2>[_t0E90,_t0E92];
          real2 pos0E96#2 = Add<real2>(_t0E94,_t0D7D);
          real2 x0E99#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos0E96);
          bool _t0E98#1 = Inside<IMAGE2D<float>,2>(x0E99,_t0CD1);
          if _t0E98 then goto ASSIGN0E9F else goto ASSIGN28D5
        ASSIGN0E9F:  preds = [COND0E9C]
          real2 x0E9E#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v010CD9);
          bool _t0E9D#1 = Inside<IMAGE2D<int>,2>(x0E9E,_t0CCD);
          goto JOIN0EA3
        JOIN0EA3:  preds = [ASSIGN0EA0,ASSIGN28D5]
          bool _t0EA1#1 = phi(_t0E9D,_t0EA2)
          if _t0EA1 then goto ASSIGN290A else goto JOIN0FA6
        ASSIGN290A:  preds = [COND0EA4]
          real2 nd0EA8#2 = Floor<2>(x0E99);
          real2 f0EA7#2 = Sub<real2>(x0E99,nd0EA8);
          int{2} n0EA9#8 = RealToInt<2>(nd0EA8);
          int t10EC5#4 = -1;
          int t20EC6#1 = Index<int{2},0>(n0EA9);
          int ix0EC4#4 = Add<int>(t10EC5,t20EC6);
          int t20EC9#4 = Index<int{2},1>(n0EA9);
          int iy0EC7#1 = Add<int>(t10EC5,t20EC9);
          addr(IMAGE2D<float>) a0ECA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0EC4,iy0EC7);
          real4 v00EAB#1 = LoadVoxels<IMAGE2D<float>,4>(a0ECA);
          int iy0EC0#1 = Add<int>(_t0D75,t20EC9);
          addr(IMAGE2D<float>) a0EC3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0EC4,iy0EC0);
          real4 v10EAC#1 = LoadVoxels<IMAGE2D<float>,4>(a0EC3);
          int iy0EB9#1 = Add<int>(_t0D79,t20EC9);
          addr(IMAGE2D<float>) a0EBC#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0EC4,iy0EB9);
          real4 v20EAD#1 = LoadVoxels<IMAGE2D<float>,4>(a0EBC);
          int iy0EB2#1 = Add<int>(_t0D51,t20EC9);
          addr(IMAGE2D<float>) a0EB5#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0EC4,iy0EB2);
          real4 v30EAE#1 = LoadVoxels<IMAGE2D<float>,4>(a0EB5);
          real fy0ED6#5 = Index<real2,1>(f0EA7);
          real t30EDB#1 = Add<real>(fy0ED6,_t0D4D);
          real t10ED9#1 = Sub<real>(fy0ED6,_t0D4D);
          real t00ED8#1 = Sub<real>(fy0ED6,_t0D4F);
          real4 a0ED7#1 = <real4>[t30EDB,fy0ED6,t10ED9,t00ED8];
          real4 hy0ECC#1 = EvalKernel<4,bspln3,0>(a0ED7);
          real fx0ECD#5 = Index<real2,0>(f0EA7);
          real t30ED2#1 = Add<real>(fx0ECD,_t0D4D);
          real t10ED0#1 = Sub<real>(fx0ECD,_t0D4D);
          real t00ECF#1 = Sub<real>(fx0ECD,_t0D4F);
          real4 a0ECE#1 = <real4>[t30ED2,fx0ECD,t10ED0,t00ECF];
          real4 hx0ECB#4 = EvalKernel<4,bspln3,0>(a0ECE);
          real t00EE0#1 = Dot<4>(v00EAB,hx0ECB);
          real t10EE1#1 = Dot<4>(v10EAC,hx0ECB);
          real t20EE2#1 = Dot<4>(v20EAD,hx0ECB);
          real t30EE3#1 = Dot<4>(v30EAE,hx0ECB);
          real4 tv0EDF#1 = <real4>[t00EE0,t10EE1,t20EE2,t30EE3];
          real _t0EA5#1 = Dot<4>(hy0ECC,tv0EDF);
          real2 x0F23#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v010CD9);
          real2 nd0F25#2 = Floor<2>(x0F23);
          real2 f0F24#2 = Sub<real2>(x0F23,nd0F25);
          int{2} n0F26#8 = RealToInt<2>(nd0F25);
          int t20F43#1 = Index<int{2},0>(n0F26);
          int ix0F41#4 = Add<int>(t10EC5,t20F43);
          int t20F46#4 = Index<int{2},1>(n0F26);
          int iy0F44#1 = Add<int>(t10EC5,t20F46);
          addr(IMAGE2D<int>) a0F47#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0F41,iy0F44);
          real4 v00F28#1 = LoadVoxels<IMAGE2D<int>,4>(a0F47);
          int iy0F3D#1 = Add<int>(_t0D75,t20F46);
          addr(IMAGE2D<int>) a0F40#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0F41,iy0F3D);
          real4 v10F29#1 = LoadVoxels<IMAGE2D<int>,4>(a0F40);
          int iy0F36#1 = Add<int>(_t0D79,t20F46);
          addr(IMAGE2D<int>) a0F39#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0F41,iy0F36);
          real4 v20F2A#1 = LoadVoxels<IMAGE2D<int>,4>(a0F39);
          int iy0F2F#1 = Add<int>(_t0D51,t20F46);
          addr(IMAGE2D<int>) a0F32#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0F41,iy0F2F);
          real4 v30F2B#1 = LoadVoxels<IMAGE2D<int>,4>(a0F32);
          real fy0F53#5 = Index<real2,1>(f0F24);
          real t30F58#1 = Add<real>(fy0F53,_t0D4D);
          real t10F56#1 = Sub<real>(fy0F53,_t0D4D);
          real t00F55#1 = Sub<real>(fy0F53,_t0D4F);
          real4 a0F54#1 = <real4>[t30F58,fy0F53,t10F56,t00F55];
          real4 hy0F49#1 = EvalKernel<4,bspln3,0>(a0F54);
          real fx0F4A#5 = Index<real2,0>(f0F24);
          real t30F4F#1 = Add<real>(fx0F4A,_t0D4D);
          real t10F4D#1 = Sub<real>(fx0F4A,_t0D4D);
          real t00F4C#1 = Sub<real>(fx0F4A,_t0D4F);
          real4 a0F4B#1 = <real4>[t30F4F,fx0F4A,t10F4D,t00F4C];
          real4 hx0F48#4 = EvalKernel<4,bspln3,0>(a0F4B);
          real t00F5D#1 = Dot<4>(v00F28,hx0F48);
          real t10F5E#1 = Dot<4>(v10F29,hx0F48);
          real t20F5F#1 = Dot<4>(v20F2A,hx0F48);
          real t30F60#1 = Dot<4>(v30F2B,hx0F48);
          real4 tv0F5C#1 = <real4>[t00F5D,t10F5E,t20F5F,t30F60];
          real _t0F22#1 = Dot<4>(hy0F49,tv0F5C);
          real _t0F9F#2 = Sub<real>(_t0EA5,_t0F22);
          real _t0FA1#1 = Mul<real>(_t0F9F,_t0F9F);
          real score0FA3#1 = Add<real>(score0E8E,_t0FA1);
          goto JOIN0FA6
        JOIN0FA6:  preds = [ASSIGN0FA4,COND0EA4]
          real score0FA5#2 = phi(score0FA3,score0E8E)
          real _t0FA7#1 = Dot<2>(r00D67,v020CDD);
          real _t0FA9#1 = Dot<2>(r10D6D,v020CDD);
          real2 _t0FAB#1 = <real2>[_t0FA7,_t0FA9];
          real2 pos0FAD#2 = Add<real2>(_t0FAB,_t0D7D);
          real2 x0FB0#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos0FAD);
          bool _t0FAF#1 = Inside<IMAGE2D<float>,2>(x0FB0,_t0CD1);
          if _t0FAF then goto ASSIGN0FB6 else goto ASSIGN28D4
        ASSIGN0FB6:  preds = [COND0FB3]
          real2 x0FB5#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v020CDD);
          bool _t0FB4#1 = Inside<IMAGE2D<int>,2>(x0FB5,_t0CCD);
          goto JOIN0FBA
        JOIN0FBA:  preds = [ASSIGN0FB7,ASSIGN28D4]
          bool _t0FB8#1 = phi(_t0FB4,_t0FB9)
          if _t0FB8 then goto ASSIGN292B else goto JOIN10BD
        ASSIGN292B:  preds = [COND0FBB]
          real2 nd0FBF#2 = Floor<2>(x0FB0);
          real2 f0FBE#2 = Sub<real2>(x0FB0,nd0FBF);
          int{2} n0FC0#8 = RealToInt<2>(nd0FBF);
          int t10FDC#4 = -1;
          int t20FDD#1 = Index<int{2},0>(n0FC0);
          int ix0FDB#4 = Add<int>(t10FDC,t20FDD);
          int t20FE0#4 = Index<int{2},1>(n0FC0);
          int iy0FDE#1 = Add<int>(t10FDC,t20FE0);
          addr(IMAGE2D<float>) a0FE1#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0FDB,iy0FDE);
          real4 v00FC2#1 = LoadVoxels<IMAGE2D<float>,4>(a0FE1);
          int iy0FD7#1 = Add<int>(_t0D75,t20FE0);
          addr(IMAGE2D<float>) a0FDA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0FDB,iy0FD7);
          real4 v10FC3#1 = LoadVoxels<IMAGE2D<float>,4>(a0FDA);
          int iy0FD0#1 = Add<int>(_t0D79,t20FE0);
          addr(IMAGE2D<float>) a0FD3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0FDB,iy0FD0);
          real4 v20FC4#1 = LoadVoxels<IMAGE2D<float>,4>(a0FD3);
          int iy0FC9#1 = Add<int>(_t0D51,t20FE0);
          addr(IMAGE2D<float>) a0FCC#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0FDB,iy0FC9);
          real4 v30FC5#1 = LoadVoxels<IMAGE2D<float>,4>(a0FCC);
          real fy0FED#5 = Index<real2,1>(f0FBE);
          real t30FF2#1 = Add<real>(fy0FED,_t0D4D);
          real t10FF0#1 = Sub<real>(fy0FED,_t0D4D);
          real t00FEF#1 = Sub<real>(fy0FED,_t0D4F);
          real4 a0FEE#1 = <real4>[t30FF2,fy0FED,t10FF0,t00FEF];
          real4 hy0FE3#1 = EvalKernel<4,bspln3,0>(a0FEE);
          real fx0FE4#5 = Index<real2,0>(f0FBE);
          real t30FE9#1 = Add<real>(fx0FE4,_t0D4D);
          real t10FE7#1 = Sub<real>(fx0FE4,_t0D4D);
          real t00FE6#1 = Sub<real>(fx0FE4,_t0D4F);
          real4 a0FE5#1 = <real4>[t30FE9,fx0FE4,t10FE7,t00FE6];
          real4 hx0FE2#4 = EvalKernel<4,bspln3,0>(a0FE5);
          real t00FF7#1 = Dot<4>(v00FC2,hx0FE2);
          real t10FF8#1 = Dot<4>(v10FC3,hx0FE2);
          real t20FF9#1 = Dot<4>(v20FC4,hx0FE2);
          real t30FFA#1 = Dot<4>(v30FC5,hx0FE2);
          real4 tv0FF6#1 = <real4>[t00FF7,t10FF8,t20FF9,t30FFA];
          real _t0FBC#1 = Dot<4>(hy0FE3,tv0FF6);
          real2 x103A#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v020CDD);
          real2 nd103C#2 = Floor<2>(x103A);
          real2 f103B#2 = Sub<real2>(x103A,nd103C);
          int{2} n103D#8 = RealToInt<2>(nd103C);
          int t2105A#1 = Index<int{2},0>(n103D);
          int ix1058#4 = Add<int>(t10FDC,t2105A);
          int t2105D#4 = Index<int{2},1>(n103D);
          int iy105B#1 = Add<int>(t10FDC,t2105D);
          addr(IMAGE2D<int>) a105E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1058,iy105B);
          real4 v0103F#1 = LoadVoxels<IMAGE2D<int>,4>(a105E);
          int iy1054#1 = Add<int>(_t0D75,t2105D);
          addr(IMAGE2D<int>) a1057#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1058,iy1054);
          real4 v11040#1 = LoadVoxels<IMAGE2D<int>,4>(a1057);
          int iy104D#1 = Add<int>(_t0D79,t2105D);
          addr(IMAGE2D<int>) a1050#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1058,iy104D);
          real4 v21041#1 = LoadVoxels<IMAGE2D<int>,4>(a1050);
          int iy1046#1 = Add<int>(_t0D51,t2105D);
          addr(IMAGE2D<int>) a1049#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1058,iy1046);
          real4 v31042#1 = LoadVoxels<IMAGE2D<int>,4>(a1049);
          real fy106A#5 = Index<real2,1>(f103B);
          real t3106F#1 = Add<real>(fy106A,_t0D4D);
          real t1106D#1 = Sub<real>(fy106A,_t0D4D);
          real t0106C#1 = Sub<real>(fy106A,_t0D4F);
          real4 a106B#1 = <real4>[t3106F,fy106A,t1106D,t0106C];
          real4 hy1060#1 = EvalKernel<4,bspln3,0>(a106B);
          real fx1061#5 = Index<real2,0>(f103B);
          real t31066#1 = Add<real>(fx1061,_t0D4D);
          real t11064#1 = Sub<real>(fx1061,_t0D4D);
          real t01063#1 = Sub<real>(fx1061,_t0D4F);
          real4 a1062#1 = <real4>[t31066,fx1061,t11064,t01063];
          real4 hx105F#4 = EvalKernel<4,bspln3,0>(a1062);
          real t01074#1 = Dot<4>(v0103F,hx105F);
          real t11075#1 = Dot<4>(v11040,hx105F);
          real t21076#1 = Dot<4>(v21041,hx105F);
          real t31077#1 = Dot<4>(v31042,hx105F);
          real4 tv1073#1 = <real4>[t01074,t11075,t21076,t31077];
          real _t1039#1 = Dot<4>(hy1060,tv1073);
          real _t10B6#2 = Sub<real>(_t0FBC,_t1039);
          real _t10B8#1 = Mul<real>(_t10B6,_t10B6);
          real score10BA#1 = Add<real>(score0FA5,_t10B8);
          goto JOIN10BD
        JOIN10BD:  preds = [ASSIGN10BB,COND0FBB]
          real score10BC#2 = phi(score10BA,score0FA5)
          real _t10BE#1 = Dot<2>(r00D67,v030CE1);
          real _t10C0#1 = Dot<2>(r10D6D,v030CE1);
          real2 _t10C2#1 = <real2>[_t10BE,_t10C0];
          real2 pos10C4#2 = Add<real2>(_t10C2,_t0D7D);
          real2 x10C7#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos10C4);
          bool _t10C6#1 = Inside<IMAGE2D<float>,2>(x10C7,_t0CD1);
          if _t10C6 then goto ASSIGN10CD else goto ASSIGN28D3
        ASSIGN10CD:  preds = [COND10CA]
          real2 x10CC#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v030CE1);
          bool _t10CB#1 = Inside<IMAGE2D<int>,2>(x10CC,_t0CCD);
          goto JOIN10D1
        JOIN10D1:  preds = [ASSIGN10CE,ASSIGN28D3]
          bool _t10CF#1 = phi(_t10CB,_t10D0)
          if _t10CF then goto ASSIGN294C else goto JOIN11D4
        ASSIGN294C:  preds = [COND10D2]
          real2 nd10D6#2 = Floor<2>(x10C7);
          real2 f10D5#2 = Sub<real2>(x10C7,nd10D6);
          int{2} n10D7#8 = RealToInt<2>(nd10D6);
          int t110F3#4 = -1;
          int t210F4#1 = Index<int{2},0>(n10D7);
          int ix10F2#4 = Add<int>(t110F3,t210F4);
          int t210F7#4 = Index<int{2},1>(n10D7);
          int iy10F5#1 = Add<int>(t110F3,t210F7);
          addr(IMAGE2D<float>) a10F8#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix10F2,iy10F5);
          real4 v010D9#1 = LoadVoxels<IMAGE2D<float>,4>(a10F8);
          int iy10EE#1 = Add<int>(_t0D75,t210F7);
          addr(IMAGE2D<float>) a10F1#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix10F2,iy10EE);
          real4 v110DA#1 = LoadVoxels<IMAGE2D<float>,4>(a10F1);
          int iy10E7#1 = Add<int>(_t0D79,t210F7);
          addr(IMAGE2D<float>) a10EA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix10F2,iy10E7);
          real4 v210DB#1 = LoadVoxels<IMAGE2D<float>,4>(a10EA);
          int iy10E0#1 = Add<int>(_t0D51,t210F7);
          addr(IMAGE2D<float>) a10E3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix10F2,iy10E0);
          real4 v310DC#1 = LoadVoxels<IMAGE2D<float>,4>(a10E3);
          real fy1104#5 = Index<real2,1>(f10D5);
          real t31109#1 = Add<real>(fy1104,_t0D4D);
          real t11107#1 = Sub<real>(fy1104,_t0D4D);
          real t01106#1 = Sub<real>(fy1104,_t0D4F);
          real4 a1105#1 = <real4>[t31109,fy1104,t11107,t01106];
          real4 hy10FA#1 = EvalKernel<4,bspln3,0>(a1105);
          real fx10FB#5 = Index<real2,0>(f10D5);
          real t31100#1 = Add<real>(fx10FB,_t0D4D);
          real t110FE#1 = Sub<real>(fx10FB,_t0D4D);
          real t010FD#1 = Sub<real>(fx10FB,_t0D4F);
          real4 a10FC#1 = <real4>[t31100,fx10FB,t110FE,t010FD];
          real4 hx10F9#4 = EvalKernel<4,bspln3,0>(a10FC);
          real t0110E#1 = Dot<4>(v010D9,hx10F9);
          real t1110F#1 = Dot<4>(v110DA,hx10F9);
          real t21110#1 = Dot<4>(v210DB,hx10F9);
          real t31111#1 = Dot<4>(v310DC,hx10F9);
          real4 tv110D#1 = <real4>[t0110E,t1110F,t21110,t31111];
          real _t10D3#1 = Dot<4>(hy10FA,tv110D);
          real2 x1151#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v030CE1);
          real2 nd1153#2 = Floor<2>(x1151);
          real2 f1152#2 = Sub<real2>(x1151,nd1153);
          int{2} n1154#8 = RealToInt<2>(nd1153);
          int t21171#1 = Index<int{2},0>(n1154);
          int ix116F#4 = Add<int>(t110F3,t21171);
          int t21174#4 = Index<int{2},1>(n1154);
          int iy1172#1 = Add<int>(t110F3,t21174);
          addr(IMAGE2D<int>) a1175#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix116F,iy1172);
          real4 v01156#1 = LoadVoxels<IMAGE2D<int>,4>(a1175);
          int iy116B#1 = Add<int>(_t0D75,t21174);
          addr(IMAGE2D<int>) a116E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix116F,iy116B);
          real4 v11157#1 = LoadVoxels<IMAGE2D<int>,4>(a116E);
          int iy1164#1 = Add<int>(_t0D79,t21174);
          addr(IMAGE2D<int>) a1167#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix116F,iy1164);
          real4 v21158#1 = LoadVoxels<IMAGE2D<int>,4>(a1167);
          int iy115D#1 = Add<int>(_t0D51,t21174);
          addr(IMAGE2D<int>) a1160#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix116F,iy115D);
          real4 v31159#1 = LoadVoxels<IMAGE2D<int>,4>(a1160);
          real fy1181#5 = Index<real2,1>(f1152);
          real t31186#1 = Add<real>(fy1181,_t0D4D);
          real t11184#1 = Sub<real>(fy1181,_t0D4D);
          real t01183#1 = Sub<real>(fy1181,_t0D4F);
          real4 a1182#1 = <real4>[t31186,fy1181,t11184,t01183];
          real4 hy1177#1 = EvalKernel<4,bspln3,0>(a1182);
          real fx1178#5 = Index<real2,0>(f1152);
          real t3117D#1 = Add<real>(fx1178,_t0D4D);
          real t1117B#1 = Sub<real>(fx1178,_t0D4D);
          real t0117A#1 = Sub<real>(fx1178,_t0D4F);
          real4 a1179#1 = <real4>[t3117D,fx1178,t1117B,t0117A];
          real4 hx1176#4 = EvalKernel<4,bspln3,0>(a1179);
          real t0118B#1 = Dot<4>(v01156,hx1176);
          real t1118C#1 = Dot<4>(v11157,hx1176);
          real t2118D#1 = Dot<4>(v21158,hx1176);
          real t3118E#1 = Dot<4>(v31159,hx1176);
          real4 tv118A#1 = <real4>[t0118B,t1118C,t2118D,t3118E];
          real _t1150#1 = Dot<4>(hy1177,tv118A);
          real _t11CD#2 = Sub<real>(_t10D3,_t1150);
          real _t11CF#1 = Mul<real>(_t11CD,_t11CD);
          real score11D1#1 = Add<real>(score10BC,_t11CF);
          goto JOIN11D4
        JOIN11D4:  preds = [ASSIGN11D2,COND10D2]
          real score11D3#2 = phi(score11D1,score10BC)
          real _t11D5#1 = Dot<2>(r00D67,v040CE5);
          real _t11D7#1 = Dot<2>(r10D6D,v040CE5);
          real2 _t11D9#1 = <real2>[_t11D5,_t11D7];
          real2 pos11DB#2 = Add<real2>(_t11D9,_t0D7D);
          real2 x11DE#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos11DB);
          bool _t11DD#1 = Inside<IMAGE2D<float>,2>(x11DE,_t0CD1);
          if _t11DD then goto ASSIGN11E4 else goto ASSIGN28D2
        ASSIGN11E4:  preds = [COND11E1]
          real2 x11E3#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v040CE5);
          bool _t11E2#1 = Inside<IMAGE2D<int>,2>(x11E3,_t0CCD);
          goto JOIN11E8
        JOIN11E8:  preds = [ASSIGN11E5,ASSIGN28D2]
          bool _t11E6#1 = phi(_t11E2,_t11E7)
          if _t11E6 then goto ASSIGN296D else goto JOIN12EB
        ASSIGN296D:  preds = [COND11E9]
          real2 nd11ED#2 = Floor<2>(x11DE);
          real2 f11EC#2 = Sub<real2>(x11DE,nd11ED);
          int{2} n11EE#8 = RealToInt<2>(nd11ED);
          int t1120A#4 = -1;
          int t2120B#1 = Index<int{2},0>(n11EE);
          int ix1209#4 = Add<int>(t1120A,t2120B);
          int t2120E#4 = Index<int{2},1>(n11EE);
          int iy120C#1 = Add<int>(t1120A,t2120E);
          addr(IMAGE2D<float>) a120F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1209,iy120C);
          real4 v011F0#1 = LoadVoxels<IMAGE2D<float>,4>(a120F);
          int iy1205#1 = Add<int>(_t0D75,t2120E);
          addr(IMAGE2D<float>) a1208#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1209,iy1205);
          real4 v111F1#1 = LoadVoxels<IMAGE2D<float>,4>(a1208);
          int iy11FE#1 = Add<int>(_t0D79,t2120E);
          addr(IMAGE2D<float>) a1201#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1209,iy11FE);
          real4 v211F2#1 = LoadVoxels<IMAGE2D<float>,4>(a1201);
          int iy11F7#1 = Add<int>(_t0D51,t2120E);
          addr(IMAGE2D<float>) a11FA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1209,iy11F7);
          real4 v311F3#1 = LoadVoxels<IMAGE2D<float>,4>(a11FA);
          real fy121B#5 = Index<real2,1>(f11EC);
          real t31220#1 = Add<real>(fy121B,_t0D4D);
          real t1121E#1 = Sub<real>(fy121B,_t0D4D);
          real t0121D#1 = Sub<real>(fy121B,_t0D4F);
          real4 a121C#1 = <real4>[t31220,fy121B,t1121E,t0121D];
          real4 hy1211#1 = EvalKernel<4,bspln3,0>(a121C);
          real fx1212#5 = Index<real2,0>(f11EC);
          real t31217#1 = Add<real>(fx1212,_t0D4D);
          real t11215#1 = Sub<real>(fx1212,_t0D4D);
          real t01214#1 = Sub<real>(fx1212,_t0D4F);
          real4 a1213#1 = <real4>[t31217,fx1212,t11215,t01214];
          real4 hx1210#4 = EvalKernel<4,bspln3,0>(a1213);
          real t01225#1 = Dot<4>(v011F0,hx1210);
          real t11226#1 = Dot<4>(v111F1,hx1210);
          real t21227#1 = Dot<4>(v211F2,hx1210);
          real t31228#1 = Dot<4>(v311F3,hx1210);
          real4 tv1224#1 = <real4>[t01225,t11226,t21227,t31228];
          real _t11EA#1 = Dot<4>(hy1211,tv1224);
          real2 x1268#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v040CE5);
          real2 nd126A#2 = Floor<2>(x1268);
          real2 f1269#2 = Sub<real2>(x1268,nd126A);
          int{2} n126B#8 = RealToInt<2>(nd126A);
          int t21288#1 = Index<int{2},0>(n126B);
          int ix1286#4 = Add<int>(t1120A,t21288);
          int t2128B#4 = Index<int{2},1>(n126B);
          int iy1289#1 = Add<int>(t1120A,t2128B);
          addr(IMAGE2D<int>) a128C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1286,iy1289);
          real4 v0126D#1 = LoadVoxels<IMAGE2D<int>,4>(a128C);
          int iy1282#1 = Add<int>(_t0D75,t2128B);
          addr(IMAGE2D<int>) a1285#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1286,iy1282);
          real4 v1126E#1 = LoadVoxels<IMAGE2D<int>,4>(a1285);
          int iy127B#1 = Add<int>(_t0D79,t2128B);
          addr(IMAGE2D<int>) a127E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1286,iy127B);
          real4 v2126F#1 = LoadVoxels<IMAGE2D<int>,4>(a127E);
          int iy1274#1 = Add<int>(_t0D51,t2128B);
          addr(IMAGE2D<int>) a1277#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1286,iy1274);
          real4 v31270#1 = LoadVoxels<IMAGE2D<int>,4>(a1277);
          real fy1298#5 = Index<real2,1>(f1269);
          real t3129D#1 = Add<real>(fy1298,_t0D4D);
          real t1129B#1 = Sub<real>(fy1298,_t0D4D);
          real t0129A#1 = Sub<real>(fy1298,_t0D4F);
          real4 a1299#1 = <real4>[t3129D,fy1298,t1129B,t0129A];
          real4 hy128E#1 = EvalKernel<4,bspln3,0>(a1299);
          real fx128F#5 = Index<real2,0>(f1269);
          real t31294#1 = Add<real>(fx128F,_t0D4D);
          real t11292#1 = Sub<real>(fx128F,_t0D4D);
          real t01291#1 = Sub<real>(fx128F,_t0D4F);
          real4 a1290#1 = <real4>[t31294,fx128F,t11292,t01291];
          real4 hx128D#4 = EvalKernel<4,bspln3,0>(a1290);
          real t012A2#1 = Dot<4>(v0126D,hx128D);
          real t112A3#1 = Dot<4>(v1126E,hx128D);
          real t212A4#1 = Dot<4>(v2126F,hx128D);
          real t312A5#1 = Dot<4>(v31270,hx128D);
          real4 tv12A1#1 = <real4>[t012A2,t112A3,t212A4,t312A5];
          real _t1267#1 = Dot<4>(hy128E,tv12A1);
          real _t12E4#2 = Sub<real>(_t11EA,_t1267);
          real _t12E6#1 = Mul<real>(_t12E4,_t12E4);
          real score12E8#1 = Add<real>(score11D3,_t12E6);
          goto JOIN12EB
        JOIN12EB:  preds = [ASSIGN12E9,COND11E9]
          real score12EA#2 = phi(score12E8,score11D3)
          real _t12EC#1 = Dot<2>(r00D67,v050CE7);
          real _t12EE#1 = Dot<2>(r10D6D,v050CE7);
          real2 _t12F0#1 = <real2>[_t12EC,_t12EE];
          real2 pos12F2#2 = Add<real2>(_t12F0,_t0D7D);
          real2 x12F5#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos12F2);
          bool _t12F4#1 = Inside<IMAGE2D<float>,2>(x12F5,_t0CD1);
          if _t12F4 then goto ASSIGN12FB else goto ASSIGN28D1
        ASSIGN12FB:  preds = [COND12F8]
          real2 x12FA#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v050CE7);
          bool _t12F9#1 = Inside<IMAGE2D<int>,2>(x12FA,_t0CCD);
          goto JOIN12FF
        JOIN12FF:  preds = [ASSIGN12FC,ASSIGN28D1]
          bool _t12FD#1 = phi(_t12F9,_t12FE)
          if _t12FD then goto ASSIGN298E else goto JOIN1402
        ASSIGN298E:  preds = [COND1300]
          real2 nd1304#2 = Floor<2>(x12F5);
          real2 f1303#2 = Sub<real2>(x12F5,nd1304);
          int{2} n1305#8 = RealToInt<2>(nd1304);
          int t11321#4 = -1;
          int t21322#1 = Index<int{2},0>(n1305);
          int ix1320#4 = Add<int>(t11321,t21322);
          int t21325#4 = Index<int{2},1>(n1305);
          int iy1323#1 = Add<int>(t11321,t21325);
          addr(IMAGE2D<float>) a1326#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1320,iy1323);
          real4 v01307#1 = LoadVoxels<IMAGE2D<float>,4>(a1326);
          int iy131C#1 = Add<int>(_t0D75,t21325);
          addr(IMAGE2D<float>) a131F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1320,iy131C);
          real4 v11308#1 = LoadVoxels<IMAGE2D<float>,4>(a131F);
          int iy1315#1 = Add<int>(_t0D79,t21325);
          addr(IMAGE2D<float>) a1318#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1320,iy1315);
          real4 v21309#1 = LoadVoxels<IMAGE2D<float>,4>(a1318);
          int iy130E#1 = Add<int>(_t0D51,t21325);
          addr(IMAGE2D<float>) a1311#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1320,iy130E);
          real4 v3130A#1 = LoadVoxels<IMAGE2D<float>,4>(a1311);
          real fy1332#5 = Index<real2,1>(f1303);
          real t31337#1 = Add<real>(fy1332,_t0D4D);
          real t11335#1 = Sub<real>(fy1332,_t0D4D);
          real t01334#1 = Sub<real>(fy1332,_t0D4F);
          real4 a1333#1 = <real4>[t31337,fy1332,t11335,t01334];
          real4 hy1328#1 = EvalKernel<4,bspln3,0>(a1333);
          real fx1329#5 = Index<real2,0>(f1303);
          real t3132E#1 = Add<real>(fx1329,_t0D4D);
          real t1132C#1 = Sub<real>(fx1329,_t0D4D);
          real t0132B#1 = Sub<real>(fx1329,_t0D4F);
          real4 a132A#1 = <real4>[t3132E,fx1329,t1132C,t0132B];
          real4 hx1327#4 = EvalKernel<4,bspln3,0>(a132A);
          real t0133C#1 = Dot<4>(v01307,hx1327);
          real t1133D#1 = Dot<4>(v11308,hx1327);
          real t2133E#1 = Dot<4>(v21309,hx1327);
          real t3133F#1 = Dot<4>(v3130A,hx1327);
          real4 tv133B#1 = <real4>[t0133C,t1133D,t2133E,t3133F];
          real _t1301#1 = Dot<4>(hy1328,tv133B);
          real2 x137F#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v050CE7);
          real2 nd1381#2 = Floor<2>(x137F);
          real2 f1380#2 = Sub<real2>(x137F,nd1381);
          int{2} n1382#8 = RealToInt<2>(nd1381);
          int t2139F#1 = Index<int{2},0>(n1382);
          int ix139D#4 = Add<int>(t11321,t2139F);
          int t213A2#4 = Index<int{2},1>(n1382);
          int iy13A0#1 = Add<int>(t11321,t213A2);
          addr(IMAGE2D<int>) a13A3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix139D,iy13A0);
          real4 v01384#1 = LoadVoxels<IMAGE2D<int>,4>(a13A3);
          int iy1399#1 = Add<int>(_t0D75,t213A2);
          addr(IMAGE2D<int>) a139C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix139D,iy1399);
          real4 v11385#1 = LoadVoxels<IMAGE2D<int>,4>(a139C);
          int iy1392#1 = Add<int>(_t0D79,t213A2);
          addr(IMAGE2D<int>) a1395#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix139D,iy1392);
          real4 v21386#1 = LoadVoxels<IMAGE2D<int>,4>(a1395);
          int iy138B#1 = Add<int>(_t0D51,t213A2);
          addr(IMAGE2D<int>) a138E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix139D,iy138B);
          real4 v31387#1 = LoadVoxels<IMAGE2D<int>,4>(a138E);
          real fy13AF#5 = Index<real2,1>(f1380);
          real t313B4#1 = Add<real>(fy13AF,_t0D4D);
          real t113B2#1 = Sub<real>(fy13AF,_t0D4D);
          real t013B1#1 = Sub<real>(fy13AF,_t0D4F);
          real4 a13B0#1 = <real4>[t313B4,fy13AF,t113B2,t013B1];
          real4 hy13A5#1 = EvalKernel<4,bspln3,0>(a13B0);
          real fx13A6#5 = Index<real2,0>(f1380);
          real t313AB#1 = Add<real>(fx13A6,_t0D4D);
          real t113A9#1 = Sub<real>(fx13A6,_t0D4D);
          real t013A8#1 = Sub<real>(fx13A6,_t0D4F);
          real4 a13A7#1 = <real4>[t313AB,fx13A6,t113A9,t013A8];
          real4 hx13A4#4 = EvalKernel<4,bspln3,0>(a13A7);
          real t013B9#1 = Dot<4>(v01384,hx13A4);
          real t113BA#1 = Dot<4>(v11385,hx13A4);
          real t213BB#1 = Dot<4>(v21386,hx13A4);
          real t313BC#1 = Dot<4>(v31387,hx13A4);
          real4 tv13B8#1 = <real4>[t013B9,t113BA,t213BB,t313BC];
          real _t137E#1 = Dot<4>(hy13A5,tv13B8);
          real _t13FB#2 = Sub<real>(_t1301,_t137E);
          real _t13FD#1 = Mul<real>(_t13FB,_t13FB);
          real score13FF#1 = Add<real>(score12EA,_t13FD);
          goto JOIN1402
        JOIN1402:  preds = [ASSIGN1400,COND1300]
          real score1401#2 = phi(score13FF,score12EA)
          real _t1403#1 = Dot<2>(r00D67,v060CE9);
          real _t1405#1 = Dot<2>(r10D6D,v060CE9);
          real2 _t1407#1 = <real2>[_t1403,_t1405];
          real2 pos1409#2 = Add<real2>(_t1407,_t0D7D);
          real2 x140C#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1409);
          bool _t140B#1 = Inside<IMAGE2D<float>,2>(x140C,_t0CD1);
          if _t140B then goto ASSIGN1412 else goto ASSIGN28D0
        ASSIGN1412:  preds = [COND140F]
          real2 x1411#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v060CE9);
          bool _t1410#1 = Inside<IMAGE2D<int>,2>(x1411,_t0CCD);
          goto JOIN1416
        JOIN1416:  preds = [ASSIGN1413,ASSIGN28D0]
          bool _t1414#1 = phi(_t1410,_t1415)
          if _t1414 then goto ASSIGN29AF else goto JOIN1519
        ASSIGN29AF:  preds = [COND1417]
          real2 nd141B#2 = Floor<2>(x140C);
          real2 f141A#2 = Sub<real2>(x140C,nd141B);
          int{2} n141C#8 = RealToInt<2>(nd141B);
          int t11438#4 = -1;
          int t21439#1 = Index<int{2},0>(n141C);
          int ix1437#4 = Add<int>(t11438,t21439);
          int t2143C#4 = Index<int{2},1>(n141C);
          int iy143A#1 = Add<int>(t11438,t2143C);
          addr(IMAGE2D<float>) a143D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1437,iy143A);
          real4 v0141E#1 = LoadVoxels<IMAGE2D<float>,4>(a143D);
          int iy1433#1 = Add<int>(_t0D75,t2143C);
          addr(IMAGE2D<float>) a1436#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1437,iy1433);
          real4 v1141F#1 = LoadVoxels<IMAGE2D<float>,4>(a1436);
          int iy142C#1 = Add<int>(_t0D79,t2143C);
          addr(IMAGE2D<float>) a142F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1437,iy142C);
          real4 v21420#1 = LoadVoxels<IMAGE2D<float>,4>(a142F);
          int iy1425#1 = Add<int>(_t0D51,t2143C);
          addr(IMAGE2D<float>) a1428#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1437,iy1425);
          real4 v31421#1 = LoadVoxels<IMAGE2D<float>,4>(a1428);
          real fy1449#5 = Index<real2,1>(f141A);
          real t3144E#1 = Add<real>(fy1449,_t0D4D);
          real t1144C#1 = Sub<real>(fy1449,_t0D4D);
          real t0144B#1 = Sub<real>(fy1449,_t0D4F);
          real4 a144A#1 = <real4>[t3144E,fy1449,t1144C,t0144B];
          real4 hy143F#1 = EvalKernel<4,bspln3,0>(a144A);
          real fx1440#5 = Index<real2,0>(f141A);
          real t31445#1 = Add<real>(fx1440,_t0D4D);
          real t11443#1 = Sub<real>(fx1440,_t0D4D);
          real t01442#1 = Sub<real>(fx1440,_t0D4F);
          real4 a1441#1 = <real4>[t31445,fx1440,t11443,t01442];
          real4 hx143E#4 = EvalKernel<4,bspln3,0>(a1441);
          real t01453#1 = Dot<4>(v0141E,hx143E);
          real t11454#1 = Dot<4>(v1141F,hx143E);
          real t21455#1 = Dot<4>(v21420,hx143E);
          real t31456#1 = Dot<4>(v31421,hx143E);
          real4 tv1452#1 = <real4>[t01453,t11454,t21455,t31456];
          real _t1418#1 = Dot<4>(hy143F,tv1452);
          real2 x1496#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v060CE9);
          real2 nd1498#2 = Floor<2>(x1496);
          real2 f1497#2 = Sub<real2>(x1496,nd1498);
          int{2} n1499#8 = RealToInt<2>(nd1498);
          int t214B6#1 = Index<int{2},0>(n1499);
          int ix14B4#4 = Add<int>(t11438,t214B6);
          int t214B9#4 = Index<int{2},1>(n1499);
          int iy14B7#1 = Add<int>(t11438,t214B9);
          addr(IMAGE2D<int>) a14BA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix14B4,iy14B7);
          real4 v0149B#1 = LoadVoxels<IMAGE2D<int>,4>(a14BA);
          int iy14B0#1 = Add<int>(_t0D75,t214B9);
          addr(IMAGE2D<int>) a14B3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix14B4,iy14B0);
          real4 v1149C#1 = LoadVoxels<IMAGE2D<int>,4>(a14B3);
          int iy14A9#1 = Add<int>(_t0D79,t214B9);
          addr(IMAGE2D<int>) a14AC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix14B4,iy14A9);
          real4 v2149D#1 = LoadVoxels<IMAGE2D<int>,4>(a14AC);
          int iy14A2#1 = Add<int>(_t0D51,t214B9);
          addr(IMAGE2D<int>) a14A5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix14B4,iy14A2);
          real4 v3149E#1 = LoadVoxels<IMAGE2D<int>,4>(a14A5);
          real fy14C6#5 = Index<real2,1>(f1497);
          real t314CB#1 = Add<real>(fy14C6,_t0D4D);
          real t114C9#1 = Sub<real>(fy14C6,_t0D4D);
          real t014C8#1 = Sub<real>(fy14C6,_t0D4F);
          real4 a14C7#1 = <real4>[t314CB,fy14C6,t114C9,t014C8];
          real4 hy14BC#1 = EvalKernel<4,bspln3,0>(a14C7);
          real fx14BD#5 = Index<real2,0>(f1497);
          real t314C2#1 = Add<real>(fx14BD,_t0D4D);
          real t114C0#1 = Sub<real>(fx14BD,_t0D4D);
          real t014BF#1 = Sub<real>(fx14BD,_t0D4F);
          real4 a14BE#1 = <real4>[t314C2,fx14BD,t114C0,t014BF];
          real4 hx14BB#4 = EvalKernel<4,bspln3,0>(a14BE);
          real t014D0#1 = Dot<4>(v0149B,hx14BB);
          real t114D1#1 = Dot<4>(v1149C,hx14BB);
          real t214D2#1 = Dot<4>(v2149D,hx14BB);
          real t314D3#1 = Dot<4>(v3149E,hx14BB);
          real4 tv14CF#1 = <real4>[t014D0,t114D1,t214D2,t314D3];
          real _t1495#1 = Dot<4>(hy14BC,tv14CF);
          real _t1512#2 = Sub<real>(_t1418,_t1495);
          real _t1514#1 = Mul<real>(_t1512,_t1512);
          real score1516#1 = Add<real>(score1401,_t1514);
          goto JOIN1519
        JOIN1519:  preds = [ASSIGN1517,COND1417]
          real score1518#2 = phi(score1516,score1401)
          real _t151A#1 = Dot<2>(r00D67,v070CEB);
          real _t151C#1 = Dot<2>(r10D6D,v070CEB);
          real2 _t151E#1 = <real2>[_t151A,_t151C];
          real2 pos1520#2 = Add<real2>(_t151E,_t0D7D);
          real2 x1523#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1520);
          bool _t1522#1 = Inside<IMAGE2D<float>,2>(x1523,_t0CD1);
          if _t1522 then goto ASSIGN1529 else goto ASSIGN28CF
        ASSIGN1529:  preds = [COND1526]
          real2 x1528#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v070CEB);
          bool _t1527#1 = Inside<IMAGE2D<int>,2>(x1528,_t0CCD);
          goto JOIN152D
        JOIN152D:  preds = [ASSIGN152A,ASSIGN28CF]
          bool _t152B#1 = phi(_t1527,_t152C)
          if _t152B then goto ASSIGN29D0 else goto JOIN1630
        ASSIGN29D0:  preds = [COND152E]
          real2 nd1532#2 = Floor<2>(x1523);
          real2 f1531#2 = Sub<real2>(x1523,nd1532);
          int{2} n1533#8 = RealToInt<2>(nd1532);
          int t1154F#4 = -1;
          int t21550#1 = Index<int{2},0>(n1533);
          int ix154E#4 = Add<int>(t1154F,t21550);
          int t21553#4 = Index<int{2},1>(n1533);
          int iy1551#1 = Add<int>(t1154F,t21553);
          addr(IMAGE2D<float>) a1554#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix154E,iy1551);
          real4 v01535#1 = LoadVoxels<IMAGE2D<float>,4>(a1554);
          int iy154A#1 = Add<int>(_t0D75,t21553);
          addr(IMAGE2D<float>) a154D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix154E,iy154A);
          real4 v11536#1 = LoadVoxels<IMAGE2D<float>,4>(a154D);
          int iy1543#1 = Add<int>(_t0D79,t21553);
          addr(IMAGE2D<float>) a1546#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix154E,iy1543);
          real4 v21537#1 = LoadVoxels<IMAGE2D<float>,4>(a1546);
          int iy153C#1 = Add<int>(_t0D51,t21553);
          addr(IMAGE2D<float>) a153F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix154E,iy153C);
          real4 v31538#1 = LoadVoxels<IMAGE2D<float>,4>(a153F);
          real fy1560#5 = Index<real2,1>(f1531);
          real t31565#1 = Add<real>(fy1560,_t0D4D);
          real t11563#1 = Sub<real>(fy1560,_t0D4D);
          real t01562#1 = Sub<real>(fy1560,_t0D4F);
          real4 a1561#1 = <real4>[t31565,fy1560,t11563,t01562];
          real4 hy1556#1 = EvalKernel<4,bspln3,0>(a1561);
          real fx1557#5 = Index<real2,0>(f1531);
          real t3155C#1 = Add<real>(fx1557,_t0D4D);
          real t1155A#1 = Sub<real>(fx1557,_t0D4D);
          real t01559#1 = Sub<real>(fx1557,_t0D4F);
          real4 a1558#1 = <real4>[t3155C,fx1557,t1155A,t01559];
          real4 hx1555#4 = EvalKernel<4,bspln3,0>(a1558);
          real t0156A#1 = Dot<4>(v01535,hx1555);
          real t1156B#1 = Dot<4>(v11536,hx1555);
          real t2156C#1 = Dot<4>(v21537,hx1555);
          real t3156D#1 = Dot<4>(v31538,hx1555);
          real4 tv1569#1 = <real4>[t0156A,t1156B,t2156C,t3156D];
          real _t152F#1 = Dot<4>(hy1556,tv1569);
          real2 x15AD#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v070CEB);
          real2 nd15AF#2 = Floor<2>(x15AD);
          real2 f15AE#2 = Sub<real2>(x15AD,nd15AF);
          int{2} n15B0#8 = RealToInt<2>(nd15AF);
          int t215CD#1 = Index<int{2},0>(n15B0);
          int ix15CB#4 = Add<int>(t1154F,t215CD);
          int t215D0#4 = Index<int{2},1>(n15B0);
          int iy15CE#1 = Add<int>(t1154F,t215D0);
          addr(IMAGE2D<int>) a15D1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix15CB,iy15CE);
          real4 v015B2#1 = LoadVoxels<IMAGE2D<int>,4>(a15D1);
          int iy15C7#1 = Add<int>(_t0D75,t215D0);
          addr(IMAGE2D<int>) a15CA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix15CB,iy15C7);
          real4 v115B3#1 = LoadVoxels<IMAGE2D<int>,4>(a15CA);
          int iy15C0#1 = Add<int>(_t0D79,t215D0);
          addr(IMAGE2D<int>) a15C3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix15CB,iy15C0);
          real4 v215B4#1 = LoadVoxels<IMAGE2D<int>,4>(a15C3);
          int iy15B9#1 = Add<int>(_t0D51,t215D0);
          addr(IMAGE2D<int>) a15BC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix15CB,iy15B9);
          real4 v315B5#1 = LoadVoxels<IMAGE2D<int>,4>(a15BC);
          real fy15DD#5 = Index<real2,1>(f15AE);
          real t315E2#1 = Add<real>(fy15DD,_t0D4D);
          real t115E0#1 = Sub<real>(fy15DD,_t0D4D);
          real t015DF#1 = Sub<real>(fy15DD,_t0D4F);
          real4 a15DE#1 = <real4>[t315E2,fy15DD,t115E0,t015DF];
          real4 hy15D3#1 = EvalKernel<4,bspln3,0>(a15DE);
          real fx15D4#5 = Index<real2,0>(f15AE);
          real t315D9#1 = Add<real>(fx15D4,_t0D4D);
          real t115D7#1 = Sub<real>(fx15D4,_t0D4D);
          real t015D6#1 = Sub<real>(fx15D4,_t0D4F);
          real4 a15D5#1 = <real4>[t315D9,fx15D4,t115D7,t015D6];
          real4 hx15D2#4 = EvalKernel<4,bspln3,0>(a15D5);
          real t015E7#1 = Dot<4>(v015B2,hx15D2);
          real t115E8#1 = Dot<4>(v115B3,hx15D2);
          real t215E9#1 = Dot<4>(v215B4,hx15D2);
          real t315EA#1 = Dot<4>(v315B5,hx15D2);
          real4 tv15E6#1 = <real4>[t015E7,t115E8,t215E9,t315EA];
          real _t15AC#1 = Dot<4>(hy15D3,tv15E6);
          real _t1629#2 = Sub<real>(_t152F,_t15AC);
          real _t162B#1 = Mul<real>(_t1629,_t1629);
          real score162D#1 = Add<real>(score1518,_t162B);
          goto JOIN1630
        JOIN1630:  preds = [ASSIGN162E,COND152E]
          real score162F#2 = phi(score162D,score1518)
          real _t1631#1 = Dot<2>(r00D67,v080CED);
          real _t1633#1 = Dot<2>(r10D6D,v080CED);
          real2 _t1635#1 = <real2>[_t1631,_t1633];
          real2 pos1637#2 = Add<real2>(_t1635,_t0D7D);
          real2 x163A#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1637);
          bool _t1639#1 = Inside<IMAGE2D<float>,2>(x163A,_t0CD1);
          if _t1639 then goto ASSIGN1640 else goto ASSIGN28CE
        ASSIGN1640:  preds = [COND163D]
          real2 x163F#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v080CED);
          bool _t163E#1 = Inside<IMAGE2D<int>,2>(x163F,_t0CCD);
          goto JOIN1644
        JOIN1644:  preds = [ASSIGN1641,ASSIGN28CE]
          bool _t1642#1 = phi(_t163E,_t1643)
          if _t1642 then goto ASSIGN29F1 else goto JOIN1747
        ASSIGN29F1:  preds = [COND1645]
          real2 nd1649#2 = Floor<2>(x163A);
          real2 f1648#2 = Sub<real2>(x163A,nd1649);
          int{2} n164A#8 = RealToInt<2>(nd1649);
          int t11666#4 = -1;
          int t21667#1 = Index<int{2},0>(n164A);
          int ix1665#4 = Add<int>(t11666,t21667);
          int t2166A#4 = Index<int{2},1>(n164A);
          int iy1668#1 = Add<int>(t11666,t2166A);
          addr(IMAGE2D<float>) a166B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1665,iy1668);
          real4 v0164C#1 = LoadVoxels<IMAGE2D<float>,4>(a166B);
          int iy1661#1 = Add<int>(_t0D75,t2166A);
          addr(IMAGE2D<float>) a1664#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1665,iy1661);
          real4 v1164D#1 = LoadVoxels<IMAGE2D<float>,4>(a1664);
          int iy165A#1 = Add<int>(_t0D79,t2166A);
          addr(IMAGE2D<float>) a165D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1665,iy165A);
          real4 v2164E#1 = LoadVoxels<IMAGE2D<float>,4>(a165D);
          int iy1653#1 = Add<int>(_t0D51,t2166A);
          addr(IMAGE2D<float>) a1656#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1665,iy1653);
          real4 v3164F#1 = LoadVoxels<IMAGE2D<float>,4>(a1656);
          real fy1677#5 = Index<real2,1>(f1648);
          real t3167C#1 = Add<real>(fy1677,_t0D4D);
          real t1167A#1 = Sub<real>(fy1677,_t0D4D);
          real t01679#1 = Sub<real>(fy1677,_t0D4F);
          real4 a1678#1 = <real4>[t3167C,fy1677,t1167A,t01679];
          real4 hy166D#1 = EvalKernel<4,bspln3,0>(a1678);
          real fx166E#5 = Index<real2,0>(f1648);
          real t31673#1 = Add<real>(fx166E,_t0D4D);
          real t11671#1 = Sub<real>(fx166E,_t0D4D);
          real t01670#1 = Sub<real>(fx166E,_t0D4F);
          real4 a166F#1 = <real4>[t31673,fx166E,t11671,t01670];
          real4 hx166C#4 = EvalKernel<4,bspln3,0>(a166F);
          real t01681#1 = Dot<4>(v0164C,hx166C);
          real t11682#1 = Dot<4>(v1164D,hx166C);
          real t21683#1 = Dot<4>(v2164E,hx166C);
          real t31684#1 = Dot<4>(v3164F,hx166C);
          real4 tv1680#1 = <real4>[t01681,t11682,t21683,t31684];
          real _t1646#1 = Dot<4>(hy166D,tv1680);
          real2 x16C4#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v080CED);
          real2 nd16C6#2 = Floor<2>(x16C4);
          real2 f16C5#2 = Sub<real2>(x16C4,nd16C6);
          int{2} n16C7#8 = RealToInt<2>(nd16C6);
          int t216E4#1 = Index<int{2},0>(n16C7);
          int ix16E2#4 = Add<int>(t11666,t216E4);
          int t216E7#4 = Index<int{2},1>(n16C7);
          int iy16E5#1 = Add<int>(t11666,t216E7);
          addr(IMAGE2D<int>) a16E8#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix16E2,iy16E5);
          real4 v016C9#1 = LoadVoxels<IMAGE2D<int>,4>(a16E8);
          int iy16DE#1 = Add<int>(_t0D75,t216E7);
          addr(IMAGE2D<int>) a16E1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix16E2,iy16DE);
          real4 v116CA#1 = LoadVoxels<IMAGE2D<int>,4>(a16E1);
          int iy16D7#1 = Add<int>(_t0D79,t216E7);
          addr(IMAGE2D<int>) a16DA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix16E2,iy16D7);
          real4 v216CB#1 = LoadVoxels<IMAGE2D<int>,4>(a16DA);
          int iy16D0#1 = Add<int>(_t0D51,t216E7);
          addr(IMAGE2D<int>) a16D3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix16E2,iy16D0);
          real4 v316CC#1 = LoadVoxels<IMAGE2D<int>,4>(a16D3);
          real fy16F4#5 = Index<real2,1>(f16C5);
          real t316F9#1 = Add<real>(fy16F4,_t0D4D);
          real t116F7#1 = Sub<real>(fy16F4,_t0D4D);
          real t016F6#1 = Sub<real>(fy16F4,_t0D4F);
          real4 a16F5#1 = <real4>[t316F9,fy16F4,t116F7,t016F6];
          real4 hy16EA#1 = EvalKernel<4,bspln3,0>(a16F5);
          real fx16EB#5 = Index<real2,0>(f16C5);
          real t316F0#1 = Add<real>(fx16EB,_t0D4D);
          real t116EE#1 = Sub<real>(fx16EB,_t0D4D);
          real t016ED#1 = Sub<real>(fx16EB,_t0D4F);
          real4 a16EC#1 = <real4>[t316F0,fx16EB,t116EE,t016ED];
          real4 hx16E9#4 = EvalKernel<4,bspln3,0>(a16EC);
          real t016FE#1 = Dot<4>(v016C9,hx16E9);
          real t116FF#1 = Dot<4>(v116CA,hx16E9);
          real t21700#1 = Dot<4>(v216CB,hx16E9);
          real t31701#1 = Dot<4>(v316CC,hx16E9);
          real4 tv16FD#1 = <real4>[t016FE,t116FF,t21700,t31701];
          real _t16C3#1 = Dot<4>(hy16EA,tv16FD);
          real _t1740#2 = Sub<real>(_t1646,_t16C3);
          real _t1742#1 = Mul<real>(_t1740,_t1740);
          real score1744#1 = Add<real>(score162F,_t1742);
          goto JOIN1747
        JOIN1747:  preds = [ASSIGN1745,COND1645]
          real score1746#2 = phi(score1744,score162F)
          real _t1748#1 = Dot<2>(r00D67,v090CEF);
          real _t174A#1 = Dot<2>(r10D6D,v090CEF);
          real2 _t174C#1 = <real2>[_t1748,_t174A];
          real2 pos174E#2 = Add<real2>(_t174C,_t0D7D);
          real2 x1751#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos174E);
          bool _t1750#1 = Inside<IMAGE2D<float>,2>(x1751,_t0CD1);
          if _t1750 then goto ASSIGN1757 else goto ASSIGN28CD
        ASSIGN1757:  preds = [COND1754]
          real2 x1756#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v090CEF);
          bool _t1755#1 = Inside<IMAGE2D<int>,2>(x1756,_t0CCD);
          goto JOIN175B
        JOIN175B:  preds = [ASSIGN1758,ASSIGN28CD]
          bool _t1759#1 = phi(_t1755,_t175A)
          if _t1759 then goto ASSIGN2A12 else goto JOIN185E
        ASSIGN2A12:  preds = [COND175C]
          real2 nd1760#2 = Floor<2>(x1751);
          real2 f175F#2 = Sub<real2>(x1751,nd1760);
          int{2} n1761#8 = RealToInt<2>(nd1760);
          int t1177D#4 = -1;
          int t2177E#1 = Index<int{2},0>(n1761);
          int ix177C#4 = Add<int>(t1177D,t2177E);
          int t21781#4 = Index<int{2},1>(n1761);
          int iy177F#1 = Add<int>(t1177D,t21781);
          addr(IMAGE2D<float>) a1782#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix177C,iy177F);
          real4 v01763#1 = LoadVoxels<IMAGE2D<float>,4>(a1782);
          int iy1778#1 = Add<int>(_t0D75,t21781);
          addr(IMAGE2D<float>) a177B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix177C,iy1778);
          real4 v11764#1 = LoadVoxels<IMAGE2D<float>,4>(a177B);
          int iy1771#1 = Add<int>(_t0D79,t21781);
          addr(IMAGE2D<float>) a1774#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix177C,iy1771);
          real4 v21765#1 = LoadVoxels<IMAGE2D<float>,4>(a1774);
          int iy176A#1 = Add<int>(_t0D51,t21781);
          addr(IMAGE2D<float>) a176D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix177C,iy176A);
          real4 v31766#1 = LoadVoxels<IMAGE2D<float>,4>(a176D);
          real fy178E#5 = Index<real2,1>(f175F);
          real t31793#1 = Add<real>(fy178E,_t0D4D);
          real t11791#1 = Sub<real>(fy178E,_t0D4D);
          real t01790#1 = Sub<real>(fy178E,_t0D4F);
          real4 a178F#1 = <real4>[t31793,fy178E,t11791,t01790];
          real4 hy1784#1 = EvalKernel<4,bspln3,0>(a178F);
          real fx1785#5 = Index<real2,0>(f175F);
          real t3178A#1 = Add<real>(fx1785,_t0D4D);
          real t11788#1 = Sub<real>(fx1785,_t0D4D);
          real t01787#1 = Sub<real>(fx1785,_t0D4F);
          real4 a1786#1 = <real4>[t3178A,fx1785,t11788,t01787];
          real4 hx1783#4 = EvalKernel<4,bspln3,0>(a1786);
          real t01798#1 = Dot<4>(v01763,hx1783);
          real t11799#1 = Dot<4>(v11764,hx1783);
          real t2179A#1 = Dot<4>(v21765,hx1783);
          real t3179B#1 = Dot<4>(v31766,hx1783);
          real4 tv1797#1 = <real4>[t01798,t11799,t2179A,t3179B];
          real _t175D#1 = Dot<4>(hy1784,tv1797);
          real2 x17DB#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v090CEF);
          real2 nd17DD#2 = Floor<2>(x17DB);
          real2 f17DC#2 = Sub<real2>(x17DB,nd17DD);
          int{2} n17DE#8 = RealToInt<2>(nd17DD);
          int t217FB#1 = Index<int{2},0>(n17DE);
          int ix17F9#4 = Add<int>(t1177D,t217FB);
          int t217FE#4 = Index<int{2},1>(n17DE);
          int iy17FC#1 = Add<int>(t1177D,t217FE);
          addr(IMAGE2D<int>) a17FF#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix17F9,iy17FC);
          real4 v017E0#1 = LoadVoxels<IMAGE2D<int>,4>(a17FF);
          int iy17F5#1 = Add<int>(_t0D75,t217FE);
          addr(IMAGE2D<int>) a17F8#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix17F9,iy17F5);
          real4 v117E1#1 = LoadVoxels<IMAGE2D<int>,4>(a17F8);
          int iy17EE#1 = Add<int>(_t0D79,t217FE);
          addr(IMAGE2D<int>) a17F1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix17F9,iy17EE);
          real4 v217E2#1 = LoadVoxels<IMAGE2D<int>,4>(a17F1);
          int iy17E7#1 = Add<int>(_t0D51,t217FE);
          addr(IMAGE2D<int>) a17EA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix17F9,iy17E7);
          real4 v317E3#1 = LoadVoxels<IMAGE2D<int>,4>(a17EA);
          real fy180B#5 = Index<real2,1>(f17DC);
          real t31810#1 = Add<real>(fy180B,_t0D4D);
          real t1180E#1 = Sub<real>(fy180B,_t0D4D);
          real t0180D#1 = Sub<real>(fy180B,_t0D4F);
          real4 a180C#1 = <real4>[t31810,fy180B,t1180E,t0180D];
          real4 hy1801#1 = EvalKernel<4,bspln3,0>(a180C);
          real fx1802#5 = Index<real2,0>(f17DC);
          real t31807#1 = Add<real>(fx1802,_t0D4D);
          real t11805#1 = Sub<real>(fx1802,_t0D4D);
          real t01804#1 = Sub<real>(fx1802,_t0D4F);
          real4 a1803#1 = <real4>[t31807,fx1802,t11805,t01804];
          real4 hx1800#4 = EvalKernel<4,bspln3,0>(a1803);
          real t01815#1 = Dot<4>(v017E0,hx1800);
          real t11816#1 = Dot<4>(v117E1,hx1800);
          real t21817#1 = Dot<4>(v217E2,hx1800);
          real t31818#1 = Dot<4>(v317E3,hx1800);
          real4 tv1814#1 = <real4>[t01815,t11816,t21817,t31818];
          real _t17DA#1 = Dot<4>(hy1801,tv1814);
          real _t1857#2 = Sub<real>(_t175D,_t17DA);
          real _t1859#1 = Mul<real>(_t1857,_t1857);
          real score185B#1 = Add<real>(score1746,_t1859);
          goto JOIN185E
        JOIN185E:  preds = [ASSIGN185C,COND175C]
          real score185D#2 = phi(score185B,score1746)
          real _t185F#1 = Dot<2>(r00D67,v100CF1);
          real _t1861#1 = Dot<2>(r10D6D,v100CF1);
          real2 _t1863#1 = <real2>[_t185F,_t1861];
          real2 pos1865#2 = Add<real2>(_t1863,_t0D7D);
          real2 x1868#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1865);
          bool _t1867#1 = Inside<IMAGE2D<float>,2>(x1868,_t0CD1);
          if _t1867 then goto ASSIGN186E else goto ASSIGN28CC
        ASSIGN186E:  preds = [COND186B]
          real2 x186D#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v100CF1);
          bool _t186C#1 = Inside<IMAGE2D<int>,2>(x186D,_t0CCD);
          goto JOIN1872
        JOIN1872:  preds = [ASSIGN186F,ASSIGN28CC]
          bool _t1870#1 = phi(_t186C,_t1871)
          if _t1870 then goto ASSIGN2A33 else goto JOIN1975
        ASSIGN2A33:  preds = [COND1873]
          real2 nd1877#2 = Floor<2>(x1868);
          real2 f1876#2 = Sub<real2>(x1868,nd1877);
          int{2} n1878#8 = RealToInt<2>(nd1877);
          int t11894#4 = -1;
          int t21895#1 = Index<int{2},0>(n1878);
          int ix1893#4 = Add<int>(t11894,t21895);
          int t21898#4 = Index<int{2},1>(n1878);
          int iy1896#1 = Add<int>(t11894,t21898);
          addr(IMAGE2D<float>) a1899#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1893,iy1896);
          real4 v0187A#1 = LoadVoxels<IMAGE2D<float>,4>(a1899);
          int iy188F#1 = Add<int>(_t0D75,t21898);
          addr(IMAGE2D<float>) a1892#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1893,iy188F);
          real4 v1187B#1 = LoadVoxels<IMAGE2D<float>,4>(a1892);
          int iy1888#1 = Add<int>(_t0D79,t21898);
          addr(IMAGE2D<float>) a188B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1893,iy1888);
          real4 v2187C#1 = LoadVoxels<IMAGE2D<float>,4>(a188B);
          int iy1881#1 = Add<int>(_t0D51,t21898);
          addr(IMAGE2D<float>) a1884#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1893,iy1881);
          real4 v3187D#1 = LoadVoxels<IMAGE2D<float>,4>(a1884);
          real fy18A5#5 = Index<real2,1>(f1876);
          real t318AA#1 = Add<real>(fy18A5,_t0D4D);
          real t118A8#1 = Sub<real>(fy18A5,_t0D4D);
          real t018A7#1 = Sub<real>(fy18A5,_t0D4F);
          real4 a18A6#1 = <real4>[t318AA,fy18A5,t118A8,t018A7];
          real4 hy189B#1 = EvalKernel<4,bspln3,0>(a18A6);
          real fx189C#5 = Index<real2,0>(f1876);
          real t318A1#1 = Add<real>(fx189C,_t0D4D);
          real t1189F#1 = Sub<real>(fx189C,_t0D4D);
          real t0189E#1 = Sub<real>(fx189C,_t0D4F);
          real4 a189D#1 = <real4>[t318A1,fx189C,t1189F,t0189E];
          real4 hx189A#4 = EvalKernel<4,bspln3,0>(a189D);
          real t018AF#1 = Dot<4>(v0187A,hx189A);
          real t118B0#1 = Dot<4>(v1187B,hx189A);
          real t218B1#1 = Dot<4>(v2187C,hx189A);
          real t318B2#1 = Dot<4>(v3187D,hx189A);
          real4 tv18AE#1 = <real4>[t018AF,t118B0,t218B1,t318B2];
          real _t1874#1 = Dot<4>(hy189B,tv18AE);
          real2 x18F2#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v100CF1);
          real2 nd18F4#2 = Floor<2>(x18F2);
          real2 f18F3#2 = Sub<real2>(x18F2,nd18F4);
          int{2} n18F5#8 = RealToInt<2>(nd18F4);
          int t21912#1 = Index<int{2},0>(n18F5);
          int ix1910#4 = Add<int>(t11894,t21912);
          int t21915#4 = Index<int{2},1>(n18F5);
          int iy1913#1 = Add<int>(t11894,t21915);
          addr(IMAGE2D<int>) a1916#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1910,iy1913);
          real4 v018F7#1 = LoadVoxels<IMAGE2D<int>,4>(a1916);
          int iy190C#1 = Add<int>(_t0D75,t21915);
          addr(IMAGE2D<int>) a190F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1910,iy190C);
          real4 v118F8#1 = LoadVoxels<IMAGE2D<int>,4>(a190F);
          int iy1905#1 = Add<int>(_t0D79,t21915);
          addr(IMAGE2D<int>) a1908#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1910,iy1905);
          real4 v218F9#1 = LoadVoxels<IMAGE2D<int>,4>(a1908);
          int iy18FE#1 = Add<int>(_t0D51,t21915);
          addr(IMAGE2D<int>) a1901#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1910,iy18FE);
          real4 v318FA#1 = LoadVoxels<IMAGE2D<int>,4>(a1901);
          real fy1922#5 = Index<real2,1>(f18F3);
          real t31927#1 = Add<real>(fy1922,_t0D4D);
          real t11925#1 = Sub<real>(fy1922,_t0D4D);
          real t01924#1 = Sub<real>(fy1922,_t0D4F);
          real4 a1923#1 = <real4>[t31927,fy1922,t11925,t01924];
          real4 hy1918#1 = EvalKernel<4,bspln3,0>(a1923);
          real fx1919#5 = Index<real2,0>(f18F3);
          real t3191E#1 = Add<real>(fx1919,_t0D4D);
          real t1191C#1 = Sub<real>(fx1919,_t0D4D);
          real t0191B#1 = Sub<real>(fx1919,_t0D4F);
          real4 a191A#1 = <real4>[t3191E,fx1919,t1191C,t0191B];
          real4 hx1917#4 = EvalKernel<4,bspln3,0>(a191A);
          real t0192C#1 = Dot<4>(v018F7,hx1917);
          real t1192D#1 = Dot<4>(v118F8,hx1917);
          real t2192E#1 = Dot<4>(v218F9,hx1917);
          real t3192F#1 = Dot<4>(v318FA,hx1917);
          real4 tv192B#1 = <real4>[t0192C,t1192D,t2192E,t3192F];
          real _t18F1#1 = Dot<4>(hy1918,tv192B);
          real _t196E#2 = Sub<real>(_t1874,_t18F1);
          real _t1970#1 = Mul<real>(_t196E,_t196E);
          real score1972#1 = Add<real>(score185D,_t1970);
          goto JOIN1975
        JOIN1975:  preds = [ASSIGN1973,COND1873]
          real score1974#2 = phi(score1972,score185D)
          real _t1976#1 = Dot<2>(r00D67,v110CF3);
          real _t1978#1 = Dot<2>(r10D6D,v110CF3);
          real2 _t197A#1 = <real2>[_t1976,_t1978];
          real2 pos197C#2 = Add<real2>(_t197A,_t0D7D);
          real2 x197F#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos197C);
          bool _t197E#1 = Inside<IMAGE2D<float>,2>(x197F,_t0CD1);
          if _t197E then goto ASSIGN1985 else goto ASSIGN28CB
        ASSIGN1985:  preds = [COND1982]
          real2 x1984#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v110CF3);
          bool _t1983#1 = Inside<IMAGE2D<int>,2>(x1984,_t0CCD);
          goto JOIN1989
        JOIN1989:  preds = [ASSIGN1986,ASSIGN28CB]
          bool _t1987#1 = phi(_t1983,_t1988)
          if _t1987 then goto ASSIGN2A54 else goto JOIN1A8C
        ASSIGN2A54:  preds = [COND198A]
          real2 nd198E#2 = Floor<2>(x197F);
          real2 f198D#2 = Sub<real2>(x197F,nd198E);
          int{2} n198F#8 = RealToInt<2>(nd198E);
          int t119AB#4 = -1;
          int t219AC#1 = Index<int{2},0>(n198F);
          int ix19AA#4 = Add<int>(t119AB,t219AC);
          int t219AF#4 = Index<int{2},1>(n198F);
          int iy19AD#1 = Add<int>(t119AB,t219AF);
          addr(IMAGE2D<float>) a19B0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix19AA,iy19AD);
          real4 v01991#1 = LoadVoxels<IMAGE2D<float>,4>(a19B0);
          int iy19A6#1 = Add<int>(_t0D75,t219AF);
          addr(IMAGE2D<float>) a19A9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix19AA,iy19A6);
          real4 v11992#1 = LoadVoxels<IMAGE2D<float>,4>(a19A9);
          int iy199F#1 = Add<int>(_t0D79,t219AF);
          addr(IMAGE2D<float>) a19A2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix19AA,iy199F);
          real4 v21993#1 = LoadVoxels<IMAGE2D<float>,4>(a19A2);
          int iy1998#1 = Add<int>(_t0D51,t219AF);
          addr(IMAGE2D<float>) a199B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix19AA,iy1998);
          real4 v31994#1 = LoadVoxels<IMAGE2D<float>,4>(a199B);
          real fy19BC#5 = Index<real2,1>(f198D);
          real t319C1#1 = Add<real>(fy19BC,_t0D4D);
          real t119BF#1 = Sub<real>(fy19BC,_t0D4D);
          real t019BE#1 = Sub<real>(fy19BC,_t0D4F);
          real4 a19BD#1 = <real4>[t319C1,fy19BC,t119BF,t019BE];
          real4 hy19B2#1 = EvalKernel<4,bspln3,0>(a19BD);
          real fx19B3#5 = Index<real2,0>(f198D);
          real t319B8#1 = Add<real>(fx19B3,_t0D4D);
          real t119B6#1 = Sub<real>(fx19B3,_t0D4D);
          real t019B5#1 = Sub<real>(fx19B3,_t0D4F);
          real4 a19B4#1 = <real4>[t319B8,fx19B3,t119B6,t019B5];
          real4 hx19B1#4 = EvalKernel<4,bspln3,0>(a19B4);
          real t019C6#1 = Dot<4>(v01991,hx19B1);
          real t119C7#1 = Dot<4>(v11992,hx19B1);
          real t219C8#1 = Dot<4>(v21993,hx19B1);
          real t319C9#1 = Dot<4>(v31994,hx19B1);
          real4 tv19C5#1 = <real4>[t019C6,t119C7,t219C8,t319C9];
          real _t198B#1 = Dot<4>(hy19B2,tv19C5);
          real2 x1A09#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v110CF3);
          real2 nd1A0B#2 = Floor<2>(x1A09);
          real2 f1A0A#2 = Sub<real2>(x1A09,nd1A0B);
          int{2} n1A0C#8 = RealToInt<2>(nd1A0B);
          int t21A29#1 = Index<int{2},0>(n1A0C);
          int ix1A27#4 = Add<int>(t119AB,t21A29);
          int t21A2C#4 = Index<int{2},1>(n1A0C);
          int iy1A2A#1 = Add<int>(t119AB,t21A2C);
          addr(IMAGE2D<int>) a1A2D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1A27,iy1A2A);
          real4 v01A0E#1 = LoadVoxels<IMAGE2D<int>,4>(a1A2D);
          int iy1A23#1 = Add<int>(_t0D75,t21A2C);
          addr(IMAGE2D<int>) a1A26#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1A27,iy1A23);
          real4 v11A0F#1 = LoadVoxels<IMAGE2D<int>,4>(a1A26);
          int iy1A1C#1 = Add<int>(_t0D79,t21A2C);
          addr(IMAGE2D<int>) a1A1F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1A27,iy1A1C);
          real4 v21A10#1 = LoadVoxels<IMAGE2D<int>,4>(a1A1F);
          int iy1A15#1 = Add<int>(_t0D51,t21A2C);
          addr(IMAGE2D<int>) a1A18#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1A27,iy1A15);
          real4 v31A11#1 = LoadVoxels<IMAGE2D<int>,4>(a1A18);
          real fy1A39#5 = Index<real2,1>(f1A0A);
          real t31A3E#1 = Add<real>(fy1A39,_t0D4D);
          real t11A3C#1 = Sub<real>(fy1A39,_t0D4D);
          real t01A3B#1 = Sub<real>(fy1A39,_t0D4F);
          real4 a1A3A#1 = <real4>[t31A3E,fy1A39,t11A3C,t01A3B];
          real4 hy1A2F#1 = EvalKernel<4,bspln3,0>(a1A3A);
          real fx1A30#5 = Index<real2,0>(f1A0A);
          real t31A35#1 = Add<real>(fx1A30,_t0D4D);
          real t11A33#1 = Sub<real>(fx1A30,_t0D4D);
          real t01A32#1 = Sub<real>(fx1A30,_t0D4F);
          real4 a1A31#1 = <real4>[t31A35,fx1A30,t11A33,t01A32];
          real4 hx1A2E#4 = EvalKernel<4,bspln3,0>(a1A31);
          real t01A43#1 = Dot<4>(v01A0E,hx1A2E);
          real t11A44#1 = Dot<4>(v11A0F,hx1A2E);
          real t21A45#1 = Dot<4>(v21A10,hx1A2E);
          real t31A46#1 = Dot<4>(v31A11,hx1A2E);
          real4 tv1A42#1 = <real4>[t01A43,t11A44,t21A45,t31A46];
          real _t1A08#1 = Dot<4>(hy1A2F,tv1A42);
          real _t1A85#2 = Sub<real>(_t198B,_t1A08);
          real _t1A87#1 = Mul<real>(_t1A85,_t1A85);
          real score1A89#1 = Add<real>(score1974,_t1A87);
          goto JOIN1A8C
        JOIN1A8C:  preds = [ASSIGN1A8A,COND198A]
          real score1A8B#2 = phi(score1A89,score1974)
          real _t1A8D#1 = Dot<2>(r00D67,v120CF5);
          real _t1A8F#1 = Dot<2>(r10D6D,v120CF5);
          real2 _t1A91#1 = <real2>[_t1A8D,_t1A8F];
          real2 pos1A93#2 = Add<real2>(_t1A91,_t0D7D);
          real2 x1A96#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1A93);
          bool _t1A95#1 = Inside<IMAGE2D<float>,2>(x1A96,_t0CD1);
          if _t1A95 then goto ASSIGN1A9C else goto ASSIGN28CA
        ASSIGN1A9C:  preds = [COND1A99]
          real2 x1A9B#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v120CF5);
          bool _t1A9A#1 = Inside<IMAGE2D<int>,2>(x1A9B,_t0CCD);
          goto JOIN1AA0
        JOIN1AA0:  preds = [ASSIGN1A9D,ASSIGN28CA]
          bool _t1A9E#1 = phi(_t1A9A,_t1A9F)
          if _t1A9E then goto ASSIGN2A75 else goto JOIN1BA3
        ASSIGN2A75:  preds = [COND1AA1]
          real2 nd1AA5#2 = Floor<2>(x1A96);
          real2 f1AA4#2 = Sub<real2>(x1A96,nd1AA5);
          int{2} n1AA6#8 = RealToInt<2>(nd1AA5);
          int t11AC2#4 = -1;
          int t21AC3#1 = Index<int{2},0>(n1AA6);
          int ix1AC1#4 = Add<int>(t11AC2,t21AC3);
          int t21AC6#4 = Index<int{2},1>(n1AA6);
          int iy1AC4#1 = Add<int>(t11AC2,t21AC6);
          addr(IMAGE2D<float>) a1AC7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1AC1,iy1AC4);
          real4 v01AA8#1 = LoadVoxels<IMAGE2D<float>,4>(a1AC7);
          int iy1ABD#1 = Add<int>(_t0D75,t21AC6);
          addr(IMAGE2D<float>) a1AC0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1AC1,iy1ABD);
          real4 v11AA9#1 = LoadVoxels<IMAGE2D<float>,4>(a1AC0);
          int iy1AB6#1 = Add<int>(_t0D79,t21AC6);
          addr(IMAGE2D<float>) a1AB9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1AC1,iy1AB6);
          real4 v21AAA#1 = LoadVoxels<IMAGE2D<float>,4>(a1AB9);
          int iy1AAF#1 = Add<int>(_t0D51,t21AC6);
          addr(IMAGE2D<float>) a1AB2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1AC1,iy1AAF);
          real4 v31AAB#1 = LoadVoxels<IMAGE2D<float>,4>(a1AB2);
          real fy1AD3#5 = Index<real2,1>(f1AA4);
          real t31AD8#1 = Add<real>(fy1AD3,_t0D4D);
          real t11AD6#1 = Sub<real>(fy1AD3,_t0D4D);
          real t01AD5#1 = Sub<real>(fy1AD3,_t0D4F);
          real4 a1AD4#1 = <real4>[t31AD8,fy1AD3,t11AD6,t01AD5];
          real4 hy1AC9#1 = EvalKernel<4,bspln3,0>(a1AD4);
          real fx1ACA#5 = Index<real2,0>(f1AA4);
          real t31ACF#1 = Add<real>(fx1ACA,_t0D4D);
          real t11ACD#1 = Sub<real>(fx1ACA,_t0D4D);
          real t01ACC#1 = Sub<real>(fx1ACA,_t0D4F);
          real4 a1ACB#1 = <real4>[t31ACF,fx1ACA,t11ACD,t01ACC];
          real4 hx1AC8#4 = EvalKernel<4,bspln3,0>(a1ACB);
          real t01ADD#1 = Dot<4>(v01AA8,hx1AC8);
          real t11ADE#1 = Dot<4>(v11AA9,hx1AC8);
          real t21ADF#1 = Dot<4>(v21AAA,hx1AC8);
          real t31AE0#1 = Dot<4>(v31AAB,hx1AC8);
          real4 tv1ADC#1 = <real4>[t01ADD,t11ADE,t21ADF,t31AE0];
          real _t1AA2#1 = Dot<4>(hy1AC9,tv1ADC);
          real2 x1B20#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v120CF5);
          real2 nd1B22#2 = Floor<2>(x1B20);
          real2 f1B21#2 = Sub<real2>(x1B20,nd1B22);
          int{2} n1B23#8 = RealToInt<2>(nd1B22);
          int t21B40#1 = Index<int{2},0>(n1B23);
          int ix1B3E#4 = Add<int>(t11AC2,t21B40);
          int t21B43#4 = Index<int{2},1>(n1B23);
          int iy1B41#1 = Add<int>(t11AC2,t21B43);
          addr(IMAGE2D<int>) a1B44#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1B3E,iy1B41);
          real4 v01B25#1 = LoadVoxels<IMAGE2D<int>,4>(a1B44);
          int iy1B3A#1 = Add<int>(_t0D75,t21B43);
          addr(IMAGE2D<int>) a1B3D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1B3E,iy1B3A);
          real4 v11B26#1 = LoadVoxels<IMAGE2D<int>,4>(a1B3D);
          int iy1B33#1 = Add<int>(_t0D79,t21B43);
          addr(IMAGE2D<int>) a1B36#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1B3E,iy1B33);
          real4 v21B27#1 = LoadVoxels<IMAGE2D<int>,4>(a1B36);
          int iy1B2C#1 = Add<int>(_t0D51,t21B43);
          addr(IMAGE2D<int>) a1B2F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1B3E,iy1B2C);
          real4 v31B28#1 = LoadVoxels<IMAGE2D<int>,4>(a1B2F);
          real fy1B50#5 = Index<real2,1>(f1B21);
          real t31B55#1 = Add<real>(fy1B50,_t0D4D);
          real t11B53#1 = Sub<real>(fy1B50,_t0D4D);
          real t01B52#1 = Sub<real>(fy1B50,_t0D4F);
          real4 a1B51#1 = <real4>[t31B55,fy1B50,t11B53,t01B52];
          real4 hy1B46#1 = EvalKernel<4,bspln3,0>(a1B51);
          real fx1B47#5 = Index<real2,0>(f1B21);
          real t31B4C#1 = Add<real>(fx1B47,_t0D4D);
          real t11B4A#1 = Sub<real>(fx1B47,_t0D4D);
          real t01B49#1 = Sub<real>(fx1B47,_t0D4F);
          real4 a1B48#1 = <real4>[t31B4C,fx1B47,t11B4A,t01B49];
          real4 hx1B45#4 = EvalKernel<4,bspln3,0>(a1B48);
          real t01B5A#1 = Dot<4>(v01B25,hx1B45);
          real t11B5B#1 = Dot<4>(v11B26,hx1B45);
          real t21B5C#1 = Dot<4>(v21B27,hx1B45);
          real t31B5D#1 = Dot<4>(v31B28,hx1B45);
          real4 tv1B59#1 = <real4>[t01B5A,t11B5B,t21B5C,t31B5D];
          real _t1B1F#1 = Dot<4>(hy1B46,tv1B59);
          real _t1B9C#2 = Sub<real>(_t1AA2,_t1B1F);
          real _t1B9E#1 = Mul<real>(_t1B9C,_t1B9C);
          real score1BA0#1 = Add<real>(score1A8B,_t1B9E);
          goto JOIN1BA3
        JOIN1BA3:  preds = [ASSIGN1BA1,COND1AA1]
          real score1BA2#2 = phi(score1BA0,score1A8B)
          real _t1BA4#1 = Dot<2>(r00D67,v130CF7);
          real _t1BA6#1 = Dot<2>(r10D6D,v130CF7);
          real2 _t1BA8#1 = <real2>[_t1BA4,_t1BA6];
          real2 pos1BAA#2 = Add<real2>(_t1BA8,_t0D7D);
          real2 x1BAD#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1BAA);
          bool _t1BAC#1 = Inside<IMAGE2D<float>,2>(x1BAD,_t0CD1);
          if _t1BAC then goto ASSIGN1BB3 else goto ASSIGN28C9
        ASSIGN1BB3:  preds = [COND1BB0]
          real2 x1BB2#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v130CF7);
          bool _t1BB1#1 = Inside<IMAGE2D<int>,2>(x1BB2,_t0CCD);
          goto JOIN1BB7
        JOIN1BB7:  preds = [ASSIGN1BB4,ASSIGN28C9]
          bool _t1BB5#1 = phi(_t1BB1,_t1BB6)
          if _t1BB5 then goto ASSIGN2A96 else goto JOIN1CBA
        ASSIGN2A96:  preds = [COND1BB8]
          real2 nd1BBC#2 = Floor<2>(x1BAD);
          real2 f1BBB#2 = Sub<real2>(x1BAD,nd1BBC);
          int{2} n1BBD#8 = RealToInt<2>(nd1BBC);
          int t11BD9#4 = -1;
          int t21BDA#1 = Index<int{2},0>(n1BBD);
          int ix1BD8#4 = Add<int>(t11BD9,t21BDA);
          int t21BDD#4 = Index<int{2},1>(n1BBD);
          int iy1BDB#1 = Add<int>(t11BD9,t21BDD);
          addr(IMAGE2D<float>) a1BDE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1BD8,iy1BDB);
          real4 v01BBF#1 = LoadVoxels<IMAGE2D<float>,4>(a1BDE);
          int iy1BD4#1 = Add<int>(_t0D75,t21BDD);
          addr(IMAGE2D<float>) a1BD7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1BD8,iy1BD4);
          real4 v11BC0#1 = LoadVoxels<IMAGE2D<float>,4>(a1BD7);
          int iy1BCD#1 = Add<int>(_t0D79,t21BDD);
          addr(IMAGE2D<float>) a1BD0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1BD8,iy1BCD);
          real4 v21BC1#1 = LoadVoxels<IMAGE2D<float>,4>(a1BD0);
          int iy1BC6#1 = Add<int>(_t0D51,t21BDD);
          addr(IMAGE2D<float>) a1BC9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1BD8,iy1BC6);
          real4 v31BC2#1 = LoadVoxels<IMAGE2D<float>,4>(a1BC9);
          real fy1BEA#5 = Index<real2,1>(f1BBB);
          real t31BEF#1 = Add<real>(fy1BEA,_t0D4D);
          real t11BED#1 = Sub<real>(fy1BEA,_t0D4D);
          real t01BEC#1 = Sub<real>(fy1BEA,_t0D4F);
          real4 a1BEB#1 = <real4>[t31BEF,fy1BEA,t11BED,t01BEC];
          real4 hy1BE0#1 = EvalKernel<4,bspln3,0>(a1BEB);
          real fx1BE1#5 = Index<real2,0>(f1BBB);
          real t31BE6#1 = Add<real>(fx1BE1,_t0D4D);
          real t11BE4#1 = Sub<real>(fx1BE1,_t0D4D);
          real t01BE3#1 = Sub<real>(fx1BE1,_t0D4F);
          real4 a1BE2#1 = <real4>[t31BE6,fx1BE1,t11BE4,t01BE3];
          real4 hx1BDF#4 = EvalKernel<4,bspln3,0>(a1BE2);
          real t01BF4#1 = Dot<4>(v01BBF,hx1BDF);
          real t11BF5#1 = Dot<4>(v11BC0,hx1BDF);
          real t21BF6#1 = Dot<4>(v21BC1,hx1BDF);
          real t31BF7#1 = Dot<4>(v31BC2,hx1BDF);
          real4 tv1BF3#1 = <real4>[t01BF4,t11BF5,t21BF6,t31BF7];
          real _t1BB9#1 = Dot<4>(hy1BE0,tv1BF3);
          real2 x1C37#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v130CF7);
          real2 nd1C39#2 = Floor<2>(x1C37);
          real2 f1C38#2 = Sub<real2>(x1C37,nd1C39);
          int{2} n1C3A#8 = RealToInt<2>(nd1C39);
          int t21C57#1 = Index<int{2},0>(n1C3A);
          int ix1C55#4 = Add<int>(t11BD9,t21C57);
          int t21C5A#4 = Index<int{2},1>(n1C3A);
          int iy1C58#1 = Add<int>(t11BD9,t21C5A);
          addr(IMAGE2D<int>) a1C5B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1C55,iy1C58);
          real4 v01C3C#1 = LoadVoxels<IMAGE2D<int>,4>(a1C5B);
          int iy1C51#1 = Add<int>(_t0D75,t21C5A);
          addr(IMAGE2D<int>) a1C54#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1C55,iy1C51);
          real4 v11C3D#1 = LoadVoxels<IMAGE2D<int>,4>(a1C54);
          int iy1C4A#1 = Add<int>(_t0D79,t21C5A);
          addr(IMAGE2D<int>) a1C4D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1C55,iy1C4A);
          real4 v21C3E#1 = LoadVoxels<IMAGE2D<int>,4>(a1C4D);
          int iy1C43#1 = Add<int>(_t0D51,t21C5A);
          addr(IMAGE2D<int>) a1C46#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1C55,iy1C43);
          real4 v31C3F#1 = LoadVoxels<IMAGE2D<int>,4>(a1C46);
          real fy1C67#5 = Index<real2,1>(f1C38);
          real t31C6C#1 = Add<real>(fy1C67,_t0D4D);
          real t11C6A#1 = Sub<real>(fy1C67,_t0D4D);
          real t01C69#1 = Sub<real>(fy1C67,_t0D4F);
          real4 a1C68#1 = <real4>[t31C6C,fy1C67,t11C6A,t01C69];
          real4 hy1C5D#1 = EvalKernel<4,bspln3,0>(a1C68);
          real fx1C5E#5 = Index<real2,0>(f1C38);
          real t31C63#1 = Add<real>(fx1C5E,_t0D4D);
          real t11C61#1 = Sub<real>(fx1C5E,_t0D4D);
          real t01C60#1 = Sub<real>(fx1C5E,_t0D4F);
          real4 a1C5F#1 = <real4>[t31C63,fx1C5E,t11C61,t01C60];
          real4 hx1C5C#4 = EvalKernel<4,bspln3,0>(a1C5F);
          real t01C71#1 = Dot<4>(v01C3C,hx1C5C);
          real t11C72#1 = Dot<4>(v11C3D,hx1C5C);
          real t21C73#1 = Dot<4>(v21C3E,hx1C5C);
          real t31C74#1 = Dot<4>(v31C3F,hx1C5C);
          real4 tv1C70#1 = <real4>[t01C71,t11C72,t21C73,t31C74];
          real _t1C36#1 = Dot<4>(hy1C5D,tv1C70);
          real _t1CB3#2 = Sub<real>(_t1BB9,_t1C36);
          real _t1CB5#1 = Mul<real>(_t1CB3,_t1CB3);
          real score1CB7#1 = Add<real>(score1BA2,_t1CB5);
          goto JOIN1CBA
        JOIN1CBA:  preds = [ASSIGN1CB8,COND1BB8]
          real score1CB9#2 = phi(score1CB7,score1BA2)
          real _t1CBB#1 = Dot<2>(r00D67,v140CF9);
          real _t1CBD#1 = Dot<2>(r10D6D,v140CF9);
          real2 _t1CBF#1 = <real2>[_t1CBB,_t1CBD];
          real2 pos1CC1#2 = Add<real2>(_t1CBF,_t0D7D);
          real2 x1CC4#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1CC1);
          bool _t1CC3#1 = Inside<IMAGE2D<float>,2>(x1CC4,_t0CD1);
          if _t1CC3 then goto ASSIGN1CCA else goto ASSIGN28C8
        ASSIGN1CCA:  preds = [COND1CC7]
          real2 x1CC9#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v140CF9);
          bool _t1CC8#1 = Inside<IMAGE2D<int>,2>(x1CC9,_t0CCD);
          goto JOIN1CCE
        JOIN1CCE:  preds = [ASSIGN1CCB,ASSIGN28C8]
          bool _t1CCC#1 = phi(_t1CC8,_t1CCD)
          if _t1CCC then goto ASSIGN2AB7 else goto JOIN1DD1
        ASSIGN2AB7:  preds = [COND1CCF]
          real2 nd1CD3#2 = Floor<2>(x1CC4);
          real2 f1CD2#2 = Sub<real2>(x1CC4,nd1CD3);
          int{2} n1CD4#8 = RealToInt<2>(nd1CD3);
          int t11CF0#4 = -1;
          int t21CF1#1 = Index<int{2},0>(n1CD4);
          int ix1CEF#4 = Add<int>(t11CF0,t21CF1);
          int t21CF4#4 = Index<int{2},1>(n1CD4);
          int iy1CF2#1 = Add<int>(t11CF0,t21CF4);
          addr(IMAGE2D<float>) a1CF5#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1CEF,iy1CF2);
          real4 v01CD6#1 = LoadVoxels<IMAGE2D<float>,4>(a1CF5);
          int iy1CEB#1 = Add<int>(_t0D75,t21CF4);
          addr(IMAGE2D<float>) a1CEE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1CEF,iy1CEB);
          real4 v11CD7#1 = LoadVoxels<IMAGE2D<float>,4>(a1CEE);
          int iy1CE4#1 = Add<int>(_t0D79,t21CF4);
          addr(IMAGE2D<float>) a1CE7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1CEF,iy1CE4);
          real4 v21CD8#1 = LoadVoxels<IMAGE2D<float>,4>(a1CE7);
          int iy1CDD#1 = Add<int>(_t0D51,t21CF4);
          addr(IMAGE2D<float>) a1CE0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1CEF,iy1CDD);
          real4 v31CD9#1 = LoadVoxels<IMAGE2D<float>,4>(a1CE0);
          real fy1D01#5 = Index<real2,1>(f1CD2);
          real t31D06#1 = Add<real>(fy1D01,_t0D4D);
          real t11D04#1 = Sub<real>(fy1D01,_t0D4D);
          real t01D03#1 = Sub<real>(fy1D01,_t0D4F);
          real4 a1D02#1 = <real4>[t31D06,fy1D01,t11D04,t01D03];
          real4 hy1CF7#1 = EvalKernel<4,bspln3,0>(a1D02);
          real fx1CF8#5 = Index<real2,0>(f1CD2);
          real t31CFD#1 = Add<real>(fx1CF8,_t0D4D);
          real t11CFB#1 = Sub<real>(fx1CF8,_t0D4D);
          real t01CFA#1 = Sub<real>(fx1CF8,_t0D4F);
          real4 a1CF9#1 = <real4>[t31CFD,fx1CF8,t11CFB,t01CFA];
          real4 hx1CF6#4 = EvalKernel<4,bspln3,0>(a1CF9);
          real t01D0B#1 = Dot<4>(v01CD6,hx1CF6);
          real t11D0C#1 = Dot<4>(v11CD7,hx1CF6);
          real t21D0D#1 = Dot<4>(v21CD8,hx1CF6);
          real t31D0E#1 = Dot<4>(v31CD9,hx1CF6);
          real4 tv1D0A#1 = <real4>[t01D0B,t11D0C,t21D0D,t31D0E];
          real _t1CD0#1 = Dot<4>(hy1CF7,tv1D0A);
          real2 x1D4E#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v140CF9);
          real2 nd1D50#2 = Floor<2>(x1D4E);
          real2 f1D4F#2 = Sub<real2>(x1D4E,nd1D50);
          int{2} n1D51#8 = RealToInt<2>(nd1D50);
          int t21D6E#1 = Index<int{2},0>(n1D51);
          int ix1D6C#4 = Add<int>(t11CF0,t21D6E);
          int t21D71#4 = Index<int{2},1>(n1D51);
          int iy1D6F#1 = Add<int>(t11CF0,t21D71);
          addr(IMAGE2D<int>) a1D72#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1D6C,iy1D6F);
          real4 v01D53#1 = LoadVoxels<IMAGE2D<int>,4>(a1D72);
          int iy1D68#1 = Add<int>(_t0D75,t21D71);
          addr(IMAGE2D<int>) a1D6B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1D6C,iy1D68);
          real4 v11D54#1 = LoadVoxels<IMAGE2D<int>,4>(a1D6B);
          int iy1D61#1 = Add<int>(_t0D79,t21D71);
          addr(IMAGE2D<int>) a1D64#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1D6C,iy1D61);
          real4 v21D55#1 = LoadVoxels<IMAGE2D<int>,4>(a1D64);
          int iy1D5A#1 = Add<int>(_t0D51,t21D71);
          addr(IMAGE2D<int>) a1D5D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1D6C,iy1D5A);
          real4 v31D56#1 = LoadVoxels<IMAGE2D<int>,4>(a1D5D);
          real fy1D7E#5 = Index<real2,1>(f1D4F);
          real t31D83#1 = Add<real>(fy1D7E,_t0D4D);
          real t11D81#1 = Sub<real>(fy1D7E,_t0D4D);
          real t01D80#1 = Sub<real>(fy1D7E,_t0D4F);
          real4 a1D7F#1 = <real4>[t31D83,fy1D7E,t11D81,t01D80];
          real4 hy1D74#1 = EvalKernel<4,bspln3,0>(a1D7F);
          real fx1D75#5 = Index<real2,0>(f1D4F);
          real t31D7A#1 = Add<real>(fx1D75,_t0D4D);
          real t11D78#1 = Sub<real>(fx1D75,_t0D4D);
          real t01D77#1 = Sub<real>(fx1D75,_t0D4F);
          real4 a1D76#1 = <real4>[t31D7A,fx1D75,t11D78,t01D77];
          real4 hx1D73#4 = EvalKernel<4,bspln3,0>(a1D76);
          real t01D88#1 = Dot<4>(v01D53,hx1D73);
          real t11D89#1 = Dot<4>(v11D54,hx1D73);
          real t21D8A#1 = Dot<4>(v21D55,hx1D73);
          real t31D8B#1 = Dot<4>(v31D56,hx1D73);
          real4 tv1D87#1 = <real4>[t01D88,t11D89,t21D8A,t31D8B];
          real _t1D4D#1 = Dot<4>(hy1D74,tv1D87);
          real _t1DCA#2 = Sub<real>(_t1CD0,_t1D4D);
          real _t1DCC#1 = Mul<real>(_t1DCA,_t1DCA);
          real score1DCE#1 = Add<real>(score1CB9,_t1DCC);
          goto JOIN1DD1
        JOIN1DD1:  preds = [ASSIGN1DCF,COND1CCF]
          real score1DD0#2 = phi(score1DCE,score1CB9)
          real _t1DD2#1 = Dot<2>(r00D67,v150CFB);
          real _t1DD4#1 = Dot<2>(r10D6D,v150CFB);
          real2 _t1DD6#1 = <real2>[_t1DD2,_t1DD4];
          real2 pos1DD8#2 = Add<real2>(_t1DD6,_t0D7D);
          real2 x1DDB#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1DD8);
          bool _t1DDA#1 = Inside<IMAGE2D<float>,2>(x1DDB,_t0CD1);
          if _t1DDA then goto ASSIGN1DE1 else goto ASSIGN28C7
        ASSIGN1DE1:  preds = [COND1DDE]
          real2 x1DE0#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v150CFB);
          bool _t1DDF#1 = Inside<IMAGE2D<int>,2>(x1DE0,_t0CCD);
          goto JOIN1DE5
        JOIN1DE5:  preds = [ASSIGN1DE2,ASSIGN28C7]
          bool _t1DE3#1 = phi(_t1DDF,_t1DE4)
          if _t1DE3 then goto ASSIGN2AD8 else goto JOIN1EE8
        ASSIGN2AD8:  preds = [COND1DE6]
          real2 nd1DEA#2 = Floor<2>(x1DDB);
          real2 f1DE9#2 = Sub<real2>(x1DDB,nd1DEA);
          int{2} n1DEB#8 = RealToInt<2>(nd1DEA);
          int t11E07#4 = -1;
          int t21E08#1 = Index<int{2},0>(n1DEB);
          int ix1E06#4 = Add<int>(t11E07,t21E08);
          int t21E0B#4 = Index<int{2},1>(n1DEB);
          int iy1E09#1 = Add<int>(t11E07,t21E0B);
          addr(IMAGE2D<float>) a1E0C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1E06,iy1E09);
          real4 v01DED#1 = LoadVoxels<IMAGE2D<float>,4>(a1E0C);
          int iy1E02#1 = Add<int>(_t0D75,t21E0B);
          addr(IMAGE2D<float>) a1E05#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1E06,iy1E02);
          real4 v11DEE#1 = LoadVoxels<IMAGE2D<float>,4>(a1E05);
          int iy1DFB#1 = Add<int>(_t0D79,t21E0B);
          addr(IMAGE2D<float>) a1DFE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1E06,iy1DFB);
          real4 v21DEF#1 = LoadVoxels<IMAGE2D<float>,4>(a1DFE);
          int iy1DF4#1 = Add<int>(_t0D51,t21E0B);
          addr(IMAGE2D<float>) a1DF7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1E06,iy1DF4);
          real4 v31DF0#1 = LoadVoxels<IMAGE2D<float>,4>(a1DF7);
          real fy1E18#5 = Index<real2,1>(f1DE9);
          real t31E1D#1 = Add<real>(fy1E18,_t0D4D);
          real t11E1B#1 = Sub<real>(fy1E18,_t0D4D);
          real t01E1A#1 = Sub<real>(fy1E18,_t0D4F);
          real4 a1E19#1 = <real4>[t31E1D,fy1E18,t11E1B,t01E1A];
          real4 hy1E0E#1 = EvalKernel<4,bspln3,0>(a1E19);
          real fx1E0F#5 = Index<real2,0>(f1DE9);
          real t31E14#1 = Add<real>(fx1E0F,_t0D4D);
          real t11E12#1 = Sub<real>(fx1E0F,_t0D4D);
          real t01E11#1 = Sub<real>(fx1E0F,_t0D4F);
          real4 a1E10#1 = <real4>[t31E14,fx1E0F,t11E12,t01E11];
          real4 hx1E0D#4 = EvalKernel<4,bspln3,0>(a1E10);
          real t01E22#1 = Dot<4>(v01DED,hx1E0D);
          real t11E23#1 = Dot<4>(v11DEE,hx1E0D);
          real t21E24#1 = Dot<4>(v21DEF,hx1E0D);
          real t31E25#1 = Dot<4>(v31DF0,hx1E0D);
          real4 tv1E21#1 = <real4>[t01E22,t11E23,t21E24,t31E25];
          real _t1DE7#1 = Dot<4>(hy1E0E,tv1E21);
          real2 x1E65#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v150CFB);
          real2 nd1E67#2 = Floor<2>(x1E65);
          real2 f1E66#2 = Sub<real2>(x1E65,nd1E67);
          int{2} n1E68#8 = RealToInt<2>(nd1E67);
          int t21E85#1 = Index<int{2},0>(n1E68);
          int ix1E83#4 = Add<int>(t11E07,t21E85);
          int t21E88#4 = Index<int{2},1>(n1E68);
          int iy1E86#1 = Add<int>(t11E07,t21E88);
          addr(IMAGE2D<int>) a1E89#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1E83,iy1E86);
          real4 v01E6A#1 = LoadVoxels<IMAGE2D<int>,4>(a1E89);
          int iy1E7F#1 = Add<int>(_t0D75,t21E88);
          addr(IMAGE2D<int>) a1E82#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1E83,iy1E7F);
          real4 v11E6B#1 = LoadVoxels<IMAGE2D<int>,4>(a1E82);
          int iy1E78#1 = Add<int>(_t0D79,t21E88);
          addr(IMAGE2D<int>) a1E7B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1E83,iy1E78);
          real4 v21E6C#1 = LoadVoxels<IMAGE2D<int>,4>(a1E7B);
          int iy1E71#1 = Add<int>(_t0D51,t21E88);
          addr(IMAGE2D<int>) a1E74#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1E83,iy1E71);
          real4 v31E6D#1 = LoadVoxels<IMAGE2D<int>,4>(a1E74);
          real fy1E95#5 = Index<real2,1>(f1E66);
          real t31E9A#1 = Add<real>(fy1E95,_t0D4D);
          real t11E98#1 = Sub<real>(fy1E95,_t0D4D);
          real t01E97#1 = Sub<real>(fy1E95,_t0D4F);
          real4 a1E96#1 = <real4>[t31E9A,fy1E95,t11E98,t01E97];
          real4 hy1E8B#1 = EvalKernel<4,bspln3,0>(a1E96);
          real fx1E8C#5 = Index<real2,0>(f1E66);
          real t31E91#1 = Add<real>(fx1E8C,_t0D4D);
          real t11E8F#1 = Sub<real>(fx1E8C,_t0D4D);
          real t01E8E#1 = Sub<real>(fx1E8C,_t0D4F);
          real4 a1E8D#1 = <real4>[t31E91,fx1E8C,t11E8F,t01E8E];
          real4 hx1E8A#4 = EvalKernel<4,bspln3,0>(a1E8D);
          real t01E9F#1 = Dot<4>(v01E6A,hx1E8A);
          real t11EA0#1 = Dot<4>(v11E6B,hx1E8A);
          real t21EA1#1 = Dot<4>(v21E6C,hx1E8A);
          real t31EA2#1 = Dot<4>(v31E6D,hx1E8A);
          real4 tv1E9E#1 = <real4>[t01E9F,t11EA0,t21EA1,t31EA2];
          real _t1E64#1 = Dot<4>(hy1E8B,tv1E9E);
          real _t1EE1#2 = Sub<real>(_t1DE7,_t1E64);
          real _t1EE3#1 = Mul<real>(_t1EE1,_t1EE1);
          real score1EE5#1 = Add<real>(score1DD0,_t1EE3);
          goto JOIN1EE8
        JOIN1EE8:  preds = [ASSIGN1EE6,COND1DE6]
          real score1EE7#2 = phi(score1EE5,score1DD0)
          real _t1EE9#1 = Dot<2>(r00D67,v160CFD);
          real _t1EEB#1 = Dot<2>(r10D6D,v160CFD);
          real2 _t1EED#1 = <real2>[_t1EE9,_t1EEB];
          real2 pos1EEF#2 = Add<real2>(_t1EED,_t0D7D);
          real2 x1EF2#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1EEF);
          bool _t1EF1#1 = Inside<IMAGE2D<float>,2>(x1EF2,_t0CD1);
          if _t1EF1 then goto ASSIGN1EF8 else goto ASSIGN28C6
        ASSIGN1EF8:  preds = [COND1EF5]
          real2 x1EF7#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v160CFD);
          bool _t1EF6#1 = Inside<IMAGE2D<int>,2>(x1EF7,_t0CCD);
          goto JOIN1EFC
        JOIN1EFC:  preds = [ASSIGN1EF9,ASSIGN28C6]
          bool _t1EFA#1 = phi(_t1EF6,_t1EFB)
          if _t1EFA then goto ASSIGN2AF9 else goto JOIN1FFF
        ASSIGN2AF9:  preds = [COND1EFD]
          real2 nd1F01#2 = Floor<2>(x1EF2);
          real2 f1F00#2 = Sub<real2>(x1EF2,nd1F01);
          int{2} n1F02#8 = RealToInt<2>(nd1F01);
          int t11F1E#4 = -1;
          int t21F1F#1 = Index<int{2},0>(n1F02);
          int ix1F1D#4 = Add<int>(t11F1E,t21F1F);
          int t21F22#4 = Index<int{2},1>(n1F02);
          int iy1F20#1 = Add<int>(t11F1E,t21F22);
          addr(IMAGE2D<float>) a1F23#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1F1D,iy1F20);
          real4 v01F04#1 = LoadVoxels<IMAGE2D<float>,4>(a1F23);
          int iy1F19#1 = Add<int>(_t0D75,t21F22);
          addr(IMAGE2D<float>) a1F1C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1F1D,iy1F19);
          real4 v11F05#1 = LoadVoxels<IMAGE2D<float>,4>(a1F1C);
          int iy1F12#1 = Add<int>(_t0D79,t21F22);
          addr(IMAGE2D<float>) a1F15#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1F1D,iy1F12);
          real4 v21F06#1 = LoadVoxels<IMAGE2D<float>,4>(a1F15);
          int iy1F0B#1 = Add<int>(_t0D51,t21F22);
          addr(IMAGE2D<float>) a1F0E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1F1D,iy1F0B);
          real4 v31F07#1 = LoadVoxels<IMAGE2D<float>,4>(a1F0E);
          real fy1F2F#5 = Index<real2,1>(f1F00);
          real t31F34#1 = Add<real>(fy1F2F,_t0D4D);
          real t11F32#1 = Sub<real>(fy1F2F,_t0D4D);
          real t01F31#1 = Sub<real>(fy1F2F,_t0D4F);
          real4 a1F30#1 = <real4>[t31F34,fy1F2F,t11F32,t01F31];
          real4 hy1F25#1 = EvalKernel<4,bspln3,0>(a1F30);
          real fx1F26#5 = Index<real2,0>(f1F00);
          real t31F2B#1 = Add<real>(fx1F26,_t0D4D);
          real t11F29#1 = Sub<real>(fx1F26,_t0D4D);
          real t01F28#1 = Sub<real>(fx1F26,_t0D4F);
          real4 a1F27#1 = <real4>[t31F2B,fx1F26,t11F29,t01F28];
          real4 hx1F24#4 = EvalKernel<4,bspln3,0>(a1F27);
          real t01F39#1 = Dot<4>(v01F04,hx1F24);
          real t11F3A#1 = Dot<4>(v11F05,hx1F24);
          real t21F3B#1 = Dot<4>(v21F06,hx1F24);
          real t31F3C#1 = Dot<4>(v31F07,hx1F24);
          real4 tv1F38#1 = <real4>[t01F39,t11F3A,t21F3B,t31F3C];
          real _t1EFE#1 = Dot<4>(hy1F25,tv1F38);
          real2 x1F7C#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v160CFD);
          real2 nd1F7E#2 = Floor<2>(x1F7C);
          real2 f1F7D#2 = Sub<real2>(x1F7C,nd1F7E);
          int{2} n1F7F#8 = RealToInt<2>(nd1F7E);
          int t21F9C#1 = Index<int{2},0>(n1F7F);
          int ix1F9A#4 = Add<int>(t11F1E,t21F9C);
          int t21F9F#4 = Index<int{2},1>(n1F7F);
          int iy1F9D#1 = Add<int>(t11F1E,t21F9F);
          addr(IMAGE2D<int>) a1FA0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1F9A,iy1F9D);
          real4 v01F81#1 = LoadVoxels<IMAGE2D<int>,4>(a1FA0);
          int iy1F96#1 = Add<int>(_t0D75,t21F9F);
          addr(IMAGE2D<int>) a1F99#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1F9A,iy1F96);
          real4 v11F82#1 = LoadVoxels<IMAGE2D<int>,4>(a1F99);
          int iy1F8F#1 = Add<int>(_t0D79,t21F9F);
          addr(IMAGE2D<int>) a1F92#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1F9A,iy1F8F);
          real4 v21F83#1 = LoadVoxels<IMAGE2D<int>,4>(a1F92);
          int iy1F88#1 = Add<int>(_t0D51,t21F9F);
          addr(IMAGE2D<int>) a1F8B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1F9A,iy1F88);
          real4 v31F84#1 = LoadVoxels<IMAGE2D<int>,4>(a1F8B);
          real fy1FAC#5 = Index<real2,1>(f1F7D);
          real t31FB1#1 = Add<real>(fy1FAC,_t0D4D);
          real t11FAF#1 = Sub<real>(fy1FAC,_t0D4D);
          real t01FAE#1 = Sub<real>(fy1FAC,_t0D4F);
          real4 a1FAD#1 = <real4>[t31FB1,fy1FAC,t11FAF,t01FAE];
          real4 hy1FA2#1 = EvalKernel<4,bspln3,0>(a1FAD);
          real fx1FA3#5 = Index<real2,0>(f1F7D);
          real t31FA8#1 = Add<real>(fx1FA3,_t0D4D);
          real t11FA6#1 = Sub<real>(fx1FA3,_t0D4D);
          real t01FA5#1 = Sub<real>(fx1FA3,_t0D4F);
          real4 a1FA4#1 = <real4>[t31FA8,fx1FA3,t11FA6,t01FA5];
          real4 hx1FA1#4 = EvalKernel<4,bspln3,0>(a1FA4);
          real t01FB6#1 = Dot<4>(v01F81,hx1FA1);
          real t11FB7#1 = Dot<4>(v11F82,hx1FA1);
          real t21FB8#1 = Dot<4>(v21F83,hx1FA1);
          real t31FB9#1 = Dot<4>(v31F84,hx1FA1);
          real4 tv1FB5#1 = <real4>[t01FB6,t11FB7,t21FB8,t31FB9];
          real _t1F7B#1 = Dot<4>(hy1FA2,tv1FB5);
          real _t1FF8#2 = Sub<real>(_t1EFE,_t1F7B);
          real _t1FFA#1 = Mul<real>(_t1FF8,_t1FF8);
          real score1FFC#1 = Add<real>(score1EE7,_t1FFA);
          goto JOIN1FFF
        JOIN1FFF:  preds = [ASSIGN1FFD,COND1EFD]
          real score1FFE#2 = phi(score1FFC,score1EE7)
          real _t2000#1 = Dot<2>(r00D67,v170CFF);
          real _t2002#1 = Dot<2>(r10D6D,v170CFF);
          real2 _t2004#1 = <real2>[_t2000,_t2002];
          real2 pos2006#2 = Add<real2>(_t2004,_t0D7D);
          real2 x2009#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2006);
          bool _t2008#1 = Inside<IMAGE2D<float>,2>(x2009,_t0CD1);
          if _t2008 then goto ASSIGN200F else goto ASSIGN28C5
        ASSIGN200F:  preds = [COND200C]
          real2 x200E#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v170CFF);
          bool _t200D#1 = Inside<IMAGE2D<int>,2>(x200E,_t0CCD);
          goto JOIN2013
        JOIN2013:  preds = [ASSIGN2010,ASSIGN28C5]
          bool _t2011#1 = phi(_t200D,_t2012)
          if _t2011 then goto ASSIGN2B1A else goto JOIN2116
        ASSIGN2B1A:  preds = [COND2014]
          real2 nd2018#2 = Floor<2>(x2009);
          real2 f2017#2 = Sub<real2>(x2009,nd2018);
          int{2} n2019#8 = RealToInt<2>(nd2018);
          int t12035#4 = -1;
          int t22036#1 = Index<int{2},0>(n2019);
          int ix2034#4 = Add<int>(t12035,t22036);
          int t22039#4 = Index<int{2},1>(n2019);
          int iy2037#1 = Add<int>(t12035,t22039);
          addr(IMAGE2D<float>) a203A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2034,iy2037);
          real4 v0201B#1 = LoadVoxels<IMAGE2D<float>,4>(a203A);
          int iy2030#1 = Add<int>(_t0D75,t22039);
          addr(IMAGE2D<float>) a2033#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2034,iy2030);
          real4 v1201C#1 = LoadVoxels<IMAGE2D<float>,4>(a2033);
          int iy2029#1 = Add<int>(_t0D79,t22039);
          addr(IMAGE2D<float>) a202C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2034,iy2029);
          real4 v2201D#1 = LoadVoxels<IMAGE2D<float>,4>(a202C);
          int iy2022#1 = Add<int>(_t0D51,t22039);
          addr(IMAGE2D<float>) a2025#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2034,iy2022);
          real4 v3201E#1 = LoadVoxels<IMAGE2D<float>,4>(a2025);
          real fy2046#5 = Index<real2,1>(f2017);
          real t3204B#1 = Add<real>(fy2046,_t0D4D);
          real t12049#1 = Sub<real>(fy2046,_t0D4D);
          real t02048#1 = Sub<real>(fy2046,_t0D4F);
          real4 a2047#1 = <real4>[t3204B,fy2046,t12049,t02048];
          real4 hy203C#1 = EvalKernel<4,bspln3,0>(a2047);
          real fx203D#5 = Index<real2,0>(f2017);
          real t32042#1 = Add<real>(fx203D,_t0D4D);
          real t12040#1 = Sub<real>(fx203D,_t0D4D);
          real t0203F#1 = Sub<real>(fx203D,_t0D4F);
          real4 a203E#1 = <real4>[t32042,fx203D,t12040,t0203F];
          real4 hx203B#4 = EvalKernel<4,bspln3,0>(a203E);
          real t02050#1 = Dot<4>(v0201B,hx203B);
          real t12051#1 = Dot<4>(v1201C,hx203B);
          real t22052#1 = Dot<4>(v2201D,hx203B);
          real t32053#1 = Dot<4>(v3201E,hx203B);
          real4 tv204F#1 = <real4>[t02050,t12051,t22052,t32053];
          real _t2015#1 = Dot<4>(hy203C,tv204F);
          real2 x2093#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v170CFF);
          real2 nd2095#2 = Floor<2>(x2093);
          real2 f2094#2 = Sub<real2>(x2093,nd2095);
          int{2} n2096#8 = RealToInt<2>(nd2095);
          int t220B3#1 = Index<int{2},0>(n2096);
          int ix20B1#4 = Add<int>(t12035,t220B3);
          int t220B6#4 = Index<int{2},1>(n2096);
          int iy20B4#1 = Add<int>(t12035,t220B6);
          addr(IMAGE2D<int>) a20B7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix20B1,iy20B4);
          real4 v02098#1 = LoadVoxels<IMAGE2D<int>,4>(a20B7);
          int iy20AD#1 = Add<int>(_t0D75,t220B6);
          addr(IMAGE2D<int>) a20B0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix20B1,iy20AD);
          real4 v12099#1 = LoadVoxels<IMAGE2D<int>,4>(a20B0);
          int iy20A6#1 = Add<int>(_t0D79,t220B6);
          addr(IMAGE2D<int>) a20A9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix20B1,iy20A6);
          real4 v2209A#1 = LoadVoxels<IMAGE2D<int>,4>(a20A9);
          int iy209F#1 = Add<int>(_t0D51,t220B6);
          addr(IMAGE2D<int>) a20A2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix20B1,iy209F);
          real4 v3209B#1 = LoadVoxels<IMAGE2D<int>,4>(a20A2);
          real fy20C3#5 = Index<real2,1>(f2094);
          real t320C8#1 = Add<real>(fy20C3,_t0D4D);
          real t120C6#1 = Sub<real>(fy20C3,_t0D4D);
          real t020C5#1 = Sub<real>(fy20C3,_t0D4F);
          real4 a20C4#1 = <real4>[t320C8,fy20C3,t120C6,t020C5];
          real4 hy20B9#1 = EvalKernel<4,bspln3,0>(a20C4);
          real fx20BA#5 = Index<real2,0>(f2094);
          real t320BF#1 = Add<real>(fx20BA,_t0D4D);
          real t120BD#1 = Sub<real>(fx20BA,_t0D4D);
          real t020BC#1 = Sub<real>(fx20BA,_t0D4F);
          real4 a20BB#1 = <real4>[t320BF,fx20BA,t120BD,t020BC];
          real4 hx20B8#4 = EvalKernel<4,bspln3,0>(a20BB);
          real t020CD#1 = Dot<4>(v02098,hx20B8);
          real t120CE#1 = Dot<4>(v12099,hx20B8);
          real t220CF#1 = Dot<4>(v2209A,hx20B8);
          real t320D0#1 = Dot<4>(v3209B,hx20B8);
          real4 tv20CC#1 = <real4>[t020CD,t120CE,t220CF,t320D0];
          real _t2092#1 = Dot<4>(hy20B9,tv20CC);
          real _t210F#2 = Sub<real>(_t2015,_t2092);
          real _t2111#1 = Mul<real>(_t210F,_t210F);
          real score2113#1 = Add<real>(score1FFE,_t2111);
          goto JOIN2116
        JOIN2116:  preds = [ASSIGN2114,COND2014]
          real score2115#2 = phi(score2113,score1FFE)
          real _t2117#1 = Dot<2>(r00D67,v180D01);
          real _t2119#1 = Dot<2>(r10D6D,v180D01);
          real2 _t211B#1 = <real2>[_t2117,_t2119];
          real2 pos211D#2 = Add<real2>(_t211B,_t0D7D);
          real2 x2120#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos211D);
          bool _t211F#1 = Inside<IMAGE2D<float>,2>(x2120,_t0CD1);
          if _t211F then goto ASSIGN2126 else goto ASSIGN28C4
        ASSIGN2126:  preds = [COND2123]
          real2 x2125#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v180D01);
          bool _t2124#1 = Inside<IMAGE2D<int>,2>(x2125,_t0CCD);
          goto JOIN212A
        JOIN212A:  preds = [ASSIGN2127,ASSIGN28C4]
          bool _t2128#1 = phi(_t2124,_t2129)
          if _t2128 then goto ASSIGN2B3B else goto JOIN222D
        ASSIGN2B3B:  preds = [COND212B]
          real2 nd212F#2 = Floor<2>(x2120);
          real2 f212E#2 = Sub<real2>(x2120,nd212F);
          int{2} n2130#8 = RealToInt<2>(nd212F);
          int t1214C#4 = -1;
          int t2214D#1 = Index<int{2},0>(n2130);
          int ix214B#4 = Add<int>(t1214C,t2214D);
          int t22150#4 = Index<int{2},1>(n2130);
          int iy214E#1 = Add<int>(t1214C,t22150);
          addr(IMAGE2D<float>) a2151#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix214B,iy214E);
          real4 v02132#1 = LoadVoxels<IMAGE2D<float>,4>(a2151);
          int iy2147#1 = Add<int>(_t0D75,t22150);
          addr(IMAGE2D<float>) a214A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix214B,iy2147);
          real4 v12133#1 = LoadVoxels<IMAGE2D<float>,4>(a214A);
          int iy2140#1 = Add<int>(_t0D79,t22150);
          addr(IMAGE2D<float>) a2143#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix214B,iy2140);
          real4 v22134#1 = LoadVoxels<IMAGE2D<float>,4>(a2143);
          int iy2139#1 = Add<int>(_t0D51,t22150);
          addr(IMAGE2D<float>) a213C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix214B,iy2139);
          real4 v32135#1 = LoadVoxels<IMAGE2D<float>,4>(a213C);
          real fy215D#5 = Index<real2,1>(f212E);
          real t32162#1 = Add<real>(fy215D,_t0D4D);
          real t12160#1 = Sub<real>(fy215D,_t0D4D);
          real t0215F#1 = Sub<real>(fy215D,_t0D4F);
          real4 a215E#1 = <real4>[t32162,fy215D,t12160,t0215F];
          real4 hy2153#1 = EvalKernel<4,bspln3,0>(a215E);
          real fx2154#5 = Index<real2,0>(f212E);
          real t32159#1 = Add<real>(fx2154,_t0D4D);
          real t12157#1 = Sub<real>(fx2154,_t0D4D);
          real t02156#1 = Sub<real>(fx2154,_t0D4F);
          real4 a2155#1 = <real4>[t32159,fx2154,t12157,t02156];
          real4 hx2152#4 = EvalKernel<4,bspln3,0>(a2155);
          real t02167#1 = Dot<4>(v02132,hx2152);
          real t12168#1 = Dot<4>(v12133,hx2152);
          real t22169#1 = Dot<4>(v22134,hx2152);
          real t3216A#1 = Dot<4>(v32135,hx2152);
          real4 tv2166#1 = <real4>[t02167,t12168,t22169,t3216A];
          real _t212C#1 = Dot<4>(hy2153,tv2166);
          real2 x21AA#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v180D01);
          real2 nd21AC#2 = Floor<2>(x21AA);
          real2 f21AB#2 = Sub<real2>(x21AA,nd21AC);
          int{2} n21AD#8 = RealToInt<2>(nd21AC);
          int t221CA#1 = Index<int{2},0>(n21AD);
          int ix21C8#4 = Add<int>(t1214C,t221CA);
          int t221CD#4 = Index<int{2},1>(n21AD);
          int iy21CB#1 = Add<int>(t1214C,t221CD);
          addr(IMAGE2D<int>) a21CE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix21C8,iy21CB);
          real4 v021AF#1 = LoadVoxels<IMAGE2D<int>,4>(a21CE);
          int iy21C4#1 = Add<int>(_t0D75,t221CD);
          addr(IMAGE2D<int>) a21C7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix21C8,iy21C4);
          real4 v121B0#1 = LoadVoxels<IMAGE2D<int>,4>(a21C7);
          int iy21BD#1 = Add<int>(_t0D79,t221CD);
          addr(IMAGE2D<int>) a21C0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix21C8,iy21BD);
          real4 v221B1#1 = LoadVoxels<IMAGE2D<int>,4>(a21C0);
          int iy21B6#1 = Add<int>(_t0D51,t221CD);
          addr(IMAGE2D<int>) a21B9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix21C8,iy21B6);
          real4 v321B2#1 = LoadVoxels<IMAGE2D<int>,4>(a21B9);
          real fy21DA#5 = Index<real2,1>(f21AB);
          real t321DF#1 = Add<real>(fy21DA,_t0D4D);
          real t121DD#1 = Sub<real>(fy21DA,_t0D4D);
          real t021DC#1 = Sub<real>(fy21DA,_t0D4F);
          real4 a21DB#1 = <real4>[t321DF,fy21DA,t121DD,t021DC];
          real4 hy21D0#1 = EvalKernel<4,bspln3,0>(a21DB);
          real fx21D1#5 = Index<real2,0>(f21AB);
          real t321D6#1 = Add<real>(fx21D1,_t0D4D);
          real t121D4#1 = Sub<real>(fx21D1,_t0D4D);
          real t021D3#1 = Sub<real>(fx21D1,_t0D4F);
          real4 a21D2#1 = <real4>[t321D6,fx21D1,t121D4,t021D3];
          real4 hx21CF#4 = EvalKernel<4,bspln3,0>(a21D2);
          real t021E4#1 = Dot<4>(v021AF,hx21CF);
          real t121E5#1 = Dot<4>(v121B0,hx21CF);
          real t221E6#1 = Dot<4>(v221B1,hx21CF);
          real t321E7#1 = Dot<4>(v321B2,hx21CF);
          real4 tv21E3#1 = <real4>[t021E4,t121E5,t221E6,t321E7];
          real _t21A9#1 = Dot<4>(hy21D0,tv21E3);
          real _t2226#2 = Sub<real>(_t212C,_t21A9);
          real _t2228#1 = Mul<real>(_t2226,_t2226);
          real score222A#1 = Add<real>(score2115,_t2228);
          goto JOIN222D
        JOIN222D:  preds = [ASSIGN222B,COND212B]
          real score222C#2 = phi(score222A,score2115)
          real _t222E#1 = Dot<2>(r00D67,v190D03);
          real _t2230#1 = Dot<2>(r10D6D,v190D03);
          real2 _t2232#1 = <real2>[_t222E,_t2230];
          real2 pos2234#2 = Add<real2>(_t2232,_t0D7D);
          real2 x2237#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2234);
          bool _t2236#1 = Inside<IMAGE2D<float>,2>(x2237,_t0CD1);
          if _t2236 then goto ASSIGN223D else goto ASSIGN28C3
        ASSIGN223D:  preds = [COND223A]
          real2 x223C#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v190D03);
          bool _t223B#1 = Inside<IMAGE2D<int>,2>(x223C,_t0CCD);
          goto JOIN2241
        JOIN2241:  preds = [ASSIGN223E,ASSIGN28C3]
          bool _t223F#1 = phi(_t223B,_t2240)
          if _t223F then goto ASSIGN2B5C else goto JOIN2344
        ASSIGN2B5C:  preds = [COND2242]
          real2 nd2246#2 = Floor<2>(x2237);
          real2 f2245#2 = Sub<real2>(x2237,nd2246);
          int{2} n2247#8 = RealToInt<2>(nd2246);
          int t12263#4 = -1;
          int t22264#1 = Index<int{2},0>(n2247);
          int ix2262#4 = Add<int>(t12263,t22264);
          int t22267#4 = Index<int{2},1>(n2247);
          int iy2265#1 = Add<int>(t12263,t22267);
          addr(IMAGE2D<float>) a2268#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2262,iy2265);
          real4 v02249#1 = LoadVoxels<IMAGE2D<float>,4>(a2268);
          int iy225E#1 = Add<int>(_t0D75,t22267);
          addr(IMAGE2D<float>) a2261#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2262,iy225E);
          real4 v1224A#1 = LoadVoxels<IMAGE2D<float>,4>(a2261);
          int iy2257#1 = Add<int>(_t0D79,t22267);
          addr(IMAGE2D<float>) a225A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2262,iy2257);
          real4 v2224B#1 = LoadVoxels<IMAGE2D<float>,4>(a225A);
          int iy2250#1 = Add<int>(_t0D51,t22267);
          addr(IMAGE2D<float>) a2253#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2262,iy2250);
          real4 v3224C#1 = LoadVoxels<IMAGE2D<float>,4>(a2253);
          real fy2274#5 = Index<real2,1>(f2245);
          real t32279#1 = Add<real>(fy2274,_t0D4D);
          real t12277#1 = Sub<real>(fy2274,_t0D4D);
          real t02276#1 = Sub<real>(fy2274,_t0D4F);
          real4 a2275#1 = <real4>[t32279,fy2274,t12277,t02276];
          real4 hy226A#1 = EvalKernel<4,bspln3,0>(a2275);
          real fx226B#5 = Index<real2,0>(f2245);
          real t32270#1 = Add<real>(fx226B,_t0D4D);
          real t1226E#1 = Sub<real>(fx226B,_t0D4D);
          real t0226D#1 = Sub<real>(fx226B,_t0D4F);
          real4 a226C#1 = <real4>[t32270,fx226B,t1226E,t0226D];
          real4 hx2269#4 = EvalKernel<4,bspln3,0>(a226C);
          real t0227E#1 = Dot<4>(v02249,hx2269);
          real t1227F#1 = Dot<4>(v1224A,hx2269);
          real t22280#1 = Dot<4>(v2224B,hx2269);
          real t32281#1 = Dot<4>(v3224C,hx2269);
          real4 tv227D#1 = <real4>[t0227E,t1227F,t22280,t32281];
          real _t2243#1 = Dot<4>(hy226A,tv227D);
          real2 x22C1#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v190D03);
          real2 nd22C3#2 = Floor<2>(x22C1);
          real2 f22C2#2 = Sub<real2>(x22C1,nd22C3);
          int{2} n22C4#8 = RealToInt<2>(nd22C3);
          int t222E1#1 = Index<int{2},0>(n22C4);
          int ix22DF#4 = Add<int>(t12263,t222E1);
          int t222E4#4 = Index<int{2},1>(n22C4);
          int iy22E2#1 = Add<int>(t12263,t222E4);
          addr(IMAGE2D<int>) a22E5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix22DF,iy22E2);
          real4 v022C6#1 = LoadVoxels<IMAGE2D<int>,4>(a22E5);
          int iy22DB#1 = Add<int>(_t0D75,t222E4);
          addr(IMAGE2D<int>) a22DE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix22DF,iy22DB);
          real4 v122C7#1 = LoadVoxels<IMAGE2D<int>,4>(a22DE);
          int iy22D4#1 = Add<int>(_t0D79,t222E4);
          addr(IMAGE2D<int>) a22D7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix22DF,iy22D4);
          real4 v222C8#1 = LoadVoxels<IMAGE2D<int>,4>(a22D7);
          int iy22CD#1 = Add<int>(_t0D51,t222E4);
          addr(IMAGE2D<int>) a22D0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix22DF,iy22CD);
          real4 v322C9#1 = LoadVoxels<IMAGE2D<int>,4>(a22D0);
          real fy22F1#5 = Index<real2,1>(f22C2);
          real t322F6#1 = Add<real>(fy22F1,_t0D4D);
          real t122F4#1 = Sub<real>(fy22F1,_t0D4D);
          real t022F3#1 = Sub<real>(fy22F1,_t0D4F);
          real4 a22F2#1 = <real4>[t322F6,fy22F1,t122F4,t022F3];
          real4 hy22E7#1 = EvalKernel<4,bspln3,0>(a22F2);
          real fx22E8#5 = Index<real2,0>(f22C2);
          real t322ED#1 = Add<real>(fx22E8,_t0D4D);
          real t122EB#1 = Sub<real>(fx22E8,_t0D4D);
          real t022EA#1 = Sub<real>(fx22E8,_t0D4F);
          real4 a22E9#1 = <real4>[t322ED,fx22E8,t122EB,t022EA];
          real4 hx22E6#4 = EvalKernel<4,bspln3,0>(a22E9);
          real t022FB#1 = Dot<4>(v022C6,hx22E6);
          real t122FC#1 = Dot<4>(v122C7,hx22E6);
          real t222FD#1 = Dot<4>(v222C8,hx22E6);
          real t322FE#1 = Dot<4>(v322C9,hx22E6);
          real4 tv22FA#1 = <real4>[t022FB,t122FC,t222FD,t322FE];
          real _t22C0#1 = Dot<4>(hy22E7,tv22FA);
          real _t233D#2 = Sub<real>(_t2243,_t22C0);
          real _t233F#1 = Mul<real>(_t233D,_t233D);
          real score2341#1 = Add<real>(score222C,_t233F);
          goto JOIN2344
        JOIN2344:  preds = [ASSIGN2342,COND2242]
          real score2343#2 = phi(score2341,score222C)
          real _t2345#1 = Dot<2>(r00D67,v200D05);
          real _t2347#1 = Dot<2>(r10D6D,v200D05);
          real2 _t2349#1 = <real2>[_t2345,_t2347];
          real2 pos234B#2 = Add<real2>(_t2349,_t0D7D);
          real2 x234E#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos234B);
          bool _t234D#1 = Inside<IMAGE2D<float>,2>(x234E,_t0CD1);
          if _t234D then goto ASSIGN2354 else goto ASSIGN28C2
        ASSIGN2354:  preds = [COND2351]
          real2 x2353#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v200D05);
          bool _t2352#1 = Inside<IMAGE2D<int>,2>(x2353,_t0CCD);
          goto JOIN2358
        JOIN2358:  preds = [ASSIGN2355,ASSIGN28C2]
          bool _t2356#1 = phi(_t2352,_t2357)
          if _t2356 then goto ASSIGN2B7D else goto JOIN245B
        ASSIGN2B7D:  preds = [COND2359]
          real2 nd235D#2 = Floor<2>(x234E);
          real2 f235C#2 = Sub<real2>(x234E,nd235D);
          int{2} n235E#8 = RealToInt<2>(nd235D);
          int t1237A#4 = -1;
          int t2237B#1 = Index<int{2},0>(n235E);
          int ix2379#4 = Add<int>(t1237A,t2237B);
          int t2237E#4 = Index<int{2},1>(n235E);
          int iy237C#1 = Add<int>(t1237A,t2237E);
          addr(IMAGE2D<float>) a237F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2379,iy237C);
          real4 v02360#1 = LoadVoxels<IMAGE2D<float>,4>(a237F);
          int iy2375#1 = Add<int>(_t0D75,t2237E);
          addr(IMAGE2D<float>) a2378#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2379,iy2375);
          real4 v12361#1 = LoadVoxels<IMAGE2D<float>,4>(a2378);
          int iy236E#1 = Add<int>(_t0D79,t2237E);
          addr(IMAGE2D<float>) a2371#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2379,iy236E);
          real4 v22362#1 = LoadVoxels<IMAGE2D<float>,4>(a2371);
          int iy2367#1 = Add<int>(_t0D51,t2237E);
          addr(IMAGE2D<float>) a236A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2379,iy2367);
          real4 v32363#1 = LoadVoxels<IMAGE2D<float>,4>(a236A);
          real fy238B#5 = Index<real2,1>(f235C);
          real t32390#1 = Add<real>(fy238B,_t0D4D);
          real t1238E#1 = Sub<real>(fy238B,_t0D4D);
          real t0238D#1 = Sub<real>(fy238B,_t0D4F);
          real4 a238C#1 = <real4>[t32390,fy238B,t1238E,t0238D];
          real4 hy2381#1 = EvalKernel<4,bspln3,0>(a238C);
          real fx2382#5 = Index<real2,0>(f235C);
          real t32387#1 = Add<real>(fx2382,_t0D4D);
          real t12385#1 = Sub<real>(fx2382,_t0D4D);
          real t02384#1 = Sub<real>(fx2382,_t0D4F);
          real4 a2383#1 = <real4>[t32387,fx2382,t12385,t02384];
          real4 hx2380#4 = EvalKernel<4,bspln3,0>(a2383);
          real t02395#1 = Dot<4>(v02360,hx2380);
          real t12396#1 = Dot<4>(v12361,hx2380);
          real t22397#1 = Dot<4>(v22362,hx2380);
          real t32398#1 = Dot<4>(v32363,hx2380);
          real4 tv2394#1 = <real4>[t02395,t12396,t22397,t32398];
          real _t235A#1 = Dot<4>(hy2381,tv2394);
          real2 x23D8#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v200D05);
          real2 nd23DA#2 = Floor<2>(x23D8);
          real2 f23D9#2 = Sub<real2>(x23D8,nd23DA);
          int{2} n23DB#8 = RealToInt<2>(nd23DA);
          int t223F8#1 = Index<int{2},0>(n23DB);
          int ix23F6#4 = Add<int>(t1237A,t223F8);
          int t223FB#4 = Index<int{2},1>(n23DB);
          int iy23F9#1 = Add<int>(t1237A,t223FB);
          addr(IMAGE2D<int>) a23FC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix23F6,iy23F9);
          real4 v023DD#1 = LoadVoxels<IMAGE2D<int>,4>(a23FC);
          int iy23F2#1 = Add<int>(_t0D75,t223FB);
          addr(IMAGE2D<int>) a23F5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix23F6,iy23F2);
          real4 v123DE#1 = LoadVoxels<IMAGE2D<int>,4>(a23F5);
          int iy23EB#1 = Add<int>(_t0D79,t223FB);
          addr(IMAGE2D<int>) a23EE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix23F6,iy23EB);
          real4 v223DF#1 = LoadVoxels<IMAGE2D<int>,4>(a23EE);
          int iy23E4#1 = Add<int>(_t0D51,t223FB);
          addr(IMAGE2D<int>) a23E7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix23F6,iy23E4);
          real4 v323E0#1 = LoadVoxels<IMAGE2D<int>,4>(a23E7);
          real fy2408#5 = Index<real2,1>(f23D9);
          real t3240D#1 = Add<real>(fy2408,_t0D4D);
          real t1240B#1 = Sub<real>(fy2408,_t0D4D);
          real t0240A#1 = Sub<real>(fy2408,_t0D4F);
          real4 a2409#1 = <real4>[t3240D,fy2408,t1240B,t0240A];
          real4 hy23FE#1 = EvalKernel<4,bspln3,0>(a2409);
          real fx23FF#5 = Index<real2,0>(f23D9);
          real t32404#1 = Add<real>(fx23FF,_t0D4D);
          real t12402#1 = Sub<real>(fx23FF,_t0D4D);
          real t02401#1 = Sub<real>(fx23FF,_t0D4F);
          real4 a2400#1 = <real4>[t32404,fx23FF,t12402,t02401];
          real4 hx23FD#4 = EvalKernel<4,bspln3,0>(a2400);
          real t02412#1 = Dot<4>(v023DD,hx23FD);
          real t12413#1 = Dot<4>(v123DE,hx23FD);
          real t22414#1 = Dot<4>(v223DF,hx23FD);
          real t32415#1 = Dot<4>(v323E0,hx23FD);
          real4 tv2411#1 = <real4>[t02412,t12413,t22414,t32415];
          real _t23D7#1 = Dot<4>(hy23FE,tv2411);
          real _t2454#2 = Sub<real>(_t235A,_t23D7);
          real _t2456#1 = Mul<real>(_t2454,_t2454);
          real score2458#1 = Add<real>(score2343,_t2456);
          goto JOIN245B
        JOIN245B:  preds = [ASSIGN2459,COND2359]
          real score245A#2 = phi(score2458,score2343)
          real _t245C#1 = Dot<2>(r00D67,v210D07);
          real _t245E#1 = Dot<2>(r10D6D,v210D07);
          real2 _t2460#1 = <real2>[_t245C,_t245E];
          real2 pos2462#2 = Add<real2>(_t2460,_t0D7D);
          real2 x2465#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2462);
          bool _t2464#1 = Inside<IMAGE2D<float>,2>(x2465,_t0CD1);
          if _t2464 then goto ASSIGN246B else goto ASSIGN28C1
        ASSIGN246B:  preds = [COND2468]
          real2 x246A#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v210D07);
          bool _t2469#1 = Inside<IMAGE2D<int>,2>(x246A,_t0CCD);
          goto JOIN246F
        JOIN246F:  preds = [ASSIGN246C,ASSIGN28C1]
          bool _t246D#1 = phi(_t2469,_t246E)
          if _t246D then goto ASSIGN2B9E else goto JOIN2572
        ASSIGN2B9E:  preds = [COND2470]
          real2 nd2474#2 = Floor<2>(x2465);
          real2 f2473#2 = Sub<real2>(x2465,nd2474);
          int{2} n2475#8 = RealToInt<2>(nd2474);
          int t12491#4 = -1;
          int t22492#1 = Index<int{2},0>(n2475);
          int ix2490#4 = Add<int>(t12491,t22492);
          int t22495#4 = Index<int{2},1>(n2475);
          int iy2493#1 = Add<int>(t12491,t22495);
          addr(IMAGE2D<float>) a2496#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2490,iy2493);
          real4 v02477#1 = LoadVoxels<IMAGE2D<float>,4>(a2496);
          int iy248C#1 = Add<int>(_t0D75,t22495);
          addr(IMAGE2D<float>) a248F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2490,iy248C);
          real4 v12478#1 = LoadVoxels<IMAGE2D<float>,4>(a248F);
          int iy2485#1 = Add<int>(_t0D79,t22495);
          addr(IMAGE2D<float>) a2488#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2490,iy2485);
          real4 v22479#1 = LoadVoxels<IMAGE2D<float>,4>(a2488);
          int iy247E#1 = Add<int>(_t0D51,t22495);
          addr(IMAGE2D<float>) a2481#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2490,iy247E);
          real4 v3247A#1 = LoadVoxels<IMAGE2D<float>,4>(a2481);
          real fy24A2#5 = Index<real2,1>(f2473);
          real t324A7#1 = Add<real>(fy24A2,_t0D4D);
          real t124A5#1 = Sub<real>(fy24A2,_t0D4D);
          real t024A4#1 = Sub<real>(fy24A2,_t0D4F);
          real4 a24A3#1 = <real4>[t324A7,fy24A2,t124A5,t024A4];
          real4 hy2498#1 = EvalKernel<4,bspln3,0>(a24A3);
          real fx2499#5 = Index<real2,0>(f2473);
          real t3249E#1 = Add<real>(fx2499,_t0D4D);
          real t1249C#1 = Sub<real>(fx2499,_t0D4D);
          real t0249B#1 = Sub<real>(fx2499,_t0D4F);
          real4 a249A#1 = <real4>[t3249E,fx2499,t1249C,t0249B];
          real4 hx2497#4 = EvalKernel<4,bspln3,0>(a249A);
          real t024AC#1 = Dot<4>(v02477,hx2497);
          real t124AD#1 = Dot<4>(v12478,hx2497);
          real t224AE#1 = Dot<4>(v22479,hx2497);
          real t324AF#1 = Dot<4>(v3247A,hx2497);
          real4 tv24AB#1 = <real4>[t024AC,t124AD,t224AE,t324AF];
          real _t2471#1 = Dot<4>(hy2498,tv24AB);
          real2 x24EF#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v210D07);
          real2 nd24F1#2 = Floor<2>(x24EF);
          real2 f24F0#2 = Sub<real2>(x24EF,nd24F1);
          int{2} n24F2#8 = RealToInt<2>(nd24F1);
          int t2250F#1 = Index<int{2},0>(n24F2);
          int ix250D#4 = Add<int>(t12491,t2250F);
          int t22512#4 = Index<int{2},1>(n24F2);
          int iy2510#1 = Add<int>(t12491,t22512);
          addr(IMAGE2D<int>) a2513#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix250D,iy2510);
          real4 v024F4#1 = LoadVoxels<IMAGE2D<int>,4>(a2513);
          int iy2509#1 = Add<int>(_t0D75,t22512);
          addr(IMAGE2D<int>) a250C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix250D,iy2509);
          real4 v124F5#1 = LoadVoxels<IMAGE2D<int>,4>(a250C);
          int iy2502#1 = Add<int>(_t0D79,t22512);
          addr(IMAGE2D<int>) a2505#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix250D,iy2502);
          real4 v224F6#1 = LoadVoxels<IMAGE2D<int>,4>(a2505);
          int iy24FB#1 = Add<int>(_t0D51,t22512);
          addr(IMAGE2D<int>) a24FE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix250D,iy24FB);
          real4 v324F7#1 = LoadVoxels<IMAGE2D<int>,4>(a24FE);
          real fy251F#5 = Index<real2,1>(f24F0);
          real t32524#1 = Add<real>(fy251F,_t0D4D);
          real t12522#1 = Sub<real>(fy251F,_t0D4D);
          real t02521#1 = Sub<real>(fy251F,_t0D4F);
          real4 a2520#1 = <real4>[t32524,fy251F,t12522,t02521];
          real4 hy2515#1 = EvalKernel<4,bspln3,0>(a2520);
          real fx2516#5 = Index<real2,0>(f24F0);
          real t3251B#1 = Add<real>(fx2516,_t0D4D);
          real t12519#1 = Sub<real>(fx2516,_t0D4D);
          real t02518#1 = Sub<real>(fx2516,_t0D4F);
          real4 a2517#1 = <real4>[t3251B,fx2516,t12519,t02518];
          real4 hx2514#4 = EvalKernel<4,bspln3,0>(a2517);
          real t02529#1 = Dot<4>(v024F4,hx2514);
          real t1252A#1 = Dot<4>(v124F5,hx2514);
          real t2252B#1 = Dot<4>(v224F6,hx2514);
          real t3252C#1 = Dot<4>(v324F7,hx2514);
          real4 tv2528#1 = <real4>[t02529,t1252A,t2252B,t3252C];
          real _t24EE#1 = Dot<4>(hy2515,tv2528);
          real _t256B#2 = Sub<real>(_t2471,_t24EE);
          real _t256D#1 = Mul<real>(_t256B,_t256B);
          real score256F#1 = Add<real>(score245A,_t256D);
          goto JOIN2572
        JOIN2572:  preds = [ASSIGN2570,COND2470]
          real score2571#2 = phi(score256F,score245A)
          real _t2573#1 = Dot<2>(r00D67,v220D09);
          real _t2575#1 = Dot<2>(r10D6D,v220D09);
          real2 _t2577#1 = <real2>[_t2573,_t2575];
          real2 pos2579#2 = Add<real2>(_t2577,_t0D7D);
          real2 x257C#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2579);
          bool _t257B#1 = Inside<IMAGE2D<float>,2>(x257C,_t0CD1);
          if _t257B then goto ASSIGN2582 else goto ASSIGN28C0
        ASSIGN2582:  preds = [COND257F]
          real2 x2581#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v220D09);
          bool _t2580#1 = Inside<IMAGE2D<int>,2>(x2581,_t0CCD);
          goto JOIN2586
        JOIN2586:  preds = [ASSIGN2583,ASSIGN28C0]
          bool _t2584#1 = phi(_t2580,_t2585)
          if _t2584 then goto ASSIGN2BBF else goto JOIN2689
        ASSIGN2BBF:  preds = [COND2587]
          real2 nd258B#2 = Floor<2>(x257C);
          real2 f258A#2 = Sub<real2>(x257C,nd258B);
          int{2} n258C#8 = RealToInt<2>(nd258B);
          int t125A8#4 = -1;
          int t225A9#1 = Index<int{2},0>(n258C);
          int ix25A7#4 = Add<int>(t125A8,t225A9);
          int t225AC#4 = Index<int{2},1>(n258C);
          int iy25AA#1 = Add<int>(t125A8,t225AC);
          addr(IMAGE2D<float>) a25AD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix25A7,iy25AA);
          real4 v0258E#1 = LoadVoxels<IMAGE2D<float>,4>(a25AD);
          int iy25A3#1 = Add<int>(_t0D75,t225AC);
          addr(IMAGE2D<float>) a25A6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix25A7,iy25A3);
          real4 v1258F#1 = LoadVoxels<IMAGE2D<float>,4>(a25A6);
          int iy259C#1 = Add<int>(_t0D79,t225AC);
          addr(IMAGE2D<float>) a259F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix25A7,iy259C);
          real4 v22590#1 = LoadVoxels<IMAGE2D<float>,4>(a259F);
          int iy2595#1 = Add<int>(_t0D51,t225AC);
          addr(IMAGE2D<float>) a2598#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix25A7,iy2595);
          real4 v32591#1 = LoadVoxels<IMAGE2D<float>,4>(a2598);
          real fy25B9#5 = Index<real2,1>(f258A);
          real t325BE#1 = Add<real>(fy25B9,_t0D4D);
          real t125BC#1 = Sub<real>(fy25B9,_t0D4D);
          real t025BB#1 = Sub<real>(fy25B9,_t0D4F);
          real4 a25BA#1 = <real4>[t325BE,fy25B9,t125BC,t025BB];
          real4 hy25AF#1 = EvalKernel<4,bspln3,0>(a25BA);
          real fx25B0#5 = Index<real2,0>(f258A);
          real t325B5#1 = Add<real>(fx25B0,_t0D4D);
          real t125B3#1 = Sub<real>(fx25B0,_t0D4D);
          real t025B2#1 = Sub<real>(fx25B0,_t0D4F);
          real4 a25B1#1 = <real4>[t325B5,fx25B0,t125B3,t025B2];
          real4 hx25AE#4 = EvalKernel<4,bspln3,0>(a25B1);
          real t025C3#1 = Dot<4>(v0258E,hx25AE);
          real t125C4#1 = Dot<4>(v1258F,hx25AE);
          real t225C5#1 = Dot<4>(v22590,hx25AE);
          real t325C6#1 = Dot<4>(v32591,hx25AE);
          real4 tv25C2#1 = <real4>[t025C3,t125C4,t225C5,t325C6];
          real _t2588#1 = Dot<4>(hy25AF,tv25C2);
          real2 x2606#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v220D09);
          real2 nd2608#2 = Floor<2>(x2606);
          real2 f2607#2 = Sub<real2>(x2606,nd2608);
          int{2} n2609#8 = RealToInt<2>(nd2608);
          int t22626#1 = Index<int{2},0>(n2609);
          int ix2624#4 = Add<int>(t125A8,t22626);
          int t22629#4 = Index<int{2},1>(n2609);
          int iy2627#1 = Add<int>(t125A8,t22629);
          addr(IMAGE2D<int>) a262A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2624,iy2627);
          real4 v0260B#1 = LoadVoxels<IMAGE2D<int>,4>(a262A);
          int iy2620#1 = Add<int>(_t0D75,t22629);
          addr(IMAGE2D<int>) a2623#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2624,iy2620);
          real4 v1260C#1 = LoadVoxels<IMAGE2D<int>,4>(a2623);
          int iy2619#1 = Add<int>(_t0D79,t22629);
          addr(IMAGE2D<int>) a261C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2624,iy2619);
          real4 v2260D#1 = LoadVoxels<IMAGE2D<int>,4>(a261C);
          int iy2612#1 = Add<int>(_t0D51,t22629);
          addr(IMAGE2D<int>) a2615#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2624,iy2612);
          real4 v3260E#1 = LoadVoxels<IMAGE2D<int>,4>(a2615);
          real fy2636#5 = Index<real2,1>(f2607);
          real t3263B#1 = Add<real>(fy2636,_t0D4D);
          real t12639#1 = Sub<real>(fy2636,_t0D4D);
          real t02638#1 = Sub<real>(fy2636,_t0D4F);
          real4 a2637#1 = <real4>[t3263B,fy2636,t12639,t02638];
          real4 hy262C#1 = EvalKernel<4,bspln3,0>(a2637);
          real fx262D#5 = Index<real2,0>(f2607);
          real t32632#1 = Add<real>(fx262D,_t0D4D);
          real t12630#1 = Sub<real>(fx262D,_t0D4D);
          real t0262F#1 = Sub<real>(fx262D,_t0D4F);
          real4 a262E#1 = <real4>[t32632,fx262D,t12630,t0262F];
          real4 hx262B#4 = EvalKernel<4,bspln3,0>(a262E);
          real t02640#1 = Dot<4>(v0260B,hx262B);
          real t12641#1 = Dot<4>(v1260C,hx262B);
          real t22642#1 = Dot<4>(v2260D,hx262B);
          real t32643#1 = Dot<4>(v3260E,hx262B);
          real4 tv263F#1 = <real4>[t02640,t12641,t22642,t32643];
          real _t2605#1 = Dot<4>(hy262C,tv263F);
          real _t2682#2 = Sub<real>(_t2588,_t2605);
          real _t2684#1 = Mul<real>(_t2682,_t2682);
          real score2686#1 = Add<real>(score2571,_t2684);
          goto JOIN2689
        JOIN2689:  preds = [ASSIGN2687,COND2587]
          real score2688#2 = phi(score2686,score2571)
          real _t268A#1 = Dot<2>(r00D67,v230D0B);
          real _t268C#1 = Dot<2>(r10D6D,v230D0B);
          real2 _t268E#1 = <real2>[_t268A,_t268C];
          real2 pos2690#2 = Add<real2>(_t268E,_t0D7D);
          real2 x2693#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2690);
          bool _t2692#1 = Inside<IMAGE2D<float>,2>(x2693,_t0CD1);
          if _t2692 then goto ASSIGN2699 else goto ASSIGN28BF
        ASSIGN2699:  preds = [COND2696]
          real2 x2698#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v230D0B);
          bool _t2697#1 = Inside<IMAGE2D<int>,2>(x2698,_t0CCD);
          goto JOIN269D
        JOIN269D:  preds = [ASSIGN269A,ASSIGN28BF]
          bool _t269B#1 = phi(_t2697,_t269C)
          if _t269B then goto ASSIGN2BE0 else goto JOIN27A0
        ASSIGN2BE0:  preds = [COND269E]
          real2 nd26A2#2 = Floor<2>(x2693);
          real2 f26A1#2 = Sub<real2>(x2693,nd26A2);
          int{2} n26A3#8 = RealToInt<2>(nd26A2);
          int t126BF#4 = -1;
          int t226C0#1 = Index<int{2},0>(n26A3);
          int ix26BE#4 = Add<int>(t126BF,t226C0);
          int t226C3#4 = Index<int{2},1>(n26A3);
          int iy26C1#1 = Add<int>(t126BF,t226C3);
          addr(IMAGE2D<float>) a26C4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix26BE,iy26C1);
          real4 v026A5#1 = LoadVoxels<IMAGE2D<float>,4>(a26C4);
          int iy26BA#1 = Add<int>(_t0D75,t226C3);
          addr(IMAGE2D<float>) a26BD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix26BE,iy26BA);
          real4 v126A6#1 = LoadVoxels<IMAGE2D<float>,4>(a26BD);
          int iy26B3#1 = Add<int>(_t0D79,t226C3);
          addr(IMAGE2D<float>) a26B6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix26BE,iy26B3);
          real4 v226A7#1 = LoadVoxels<IMAGE2D<float>,4>(a26B6);
          int iy26AC#1 = Add<int>(_t0D51,t226C3);
          addr(IMAGE2D<float>) a26AF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix26BE,iy26AC);
          real4 v326A8#1 = LoadVoxels<IMAGE2D<float>,4>(a26AF);
          real fy26D0#5 = Index<real2,1>(f26A1);
          real t326D5#1 = Add<real>(fy26D0,_t0D4D);
          real t126D3#1 = Sub<real>(fy26D0,_t0D4D);
          real t026D2#1 = Sub<real>(fy26D0,_t0D4F);
          real4 a26D1#1 = <real4>[t326D5,fy26D0,t126D3,t026D2];
          real4 hy26C6#1 = EvalKernel<4,bspln3,0>(a26D1);
          real fx26C7#5 = Index<real2,0>(f26A1);
          real t326CC#1 = Add<real>(fx26C7,_t0D4D);
          real t126CA#1 = Sub<real>(fx26C7,_t0D4D);
          real t026C9#1 = Sub<real>(fx26C7,_t0D4F);
          real4 a26C8#1 = <real4>[t326CC,fx26C7,t126CA,t026C9];
          real4 hx26C5#4 = EvalKernel<4,bspln3,0>(a26C8);
          real t026DA#1 = Dot<4>(v026A5,hx26C5);
          real t126DB#1 = Dot<4>(v126A6,hx26C5);
          real t226DC#1 = Dot<4>(v226A7,hx26C5);
          real t326DD#1 = Dot<4>(v326A8,hx26C5);
          real4 tv26D9#1 = <real4>[t026DA,t126DB,t226DC,t326DD];
          real _t269F#1 = Dot<4>(hy26C6,tv26D9);
          real2 x271D#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v230D0B);
          real2 nd271F#2 = Floor<2>(x271D);
          real2 f271E#2 = Sub<real2>(x271D,nd271F);
          int{2} n2720#8 = RealToInt<2>(nd271F);
          int t2273D#1 = Index<int{2},0>(n2720);
          int ix273B#4 = Add<int>(t126BF,t2273D);
          int t22740#4 = Index<int{2},1>(n2720);
          int iy273E#1 = Add<int>(t126BF,t22740);
          addr(IMAGE2D<int>) a2741#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix273B,iy273E);
          real4 v02722#1 = LoadVoxels<IMAGE2D<int>,4>(a2741);
          int iy2737#1 = Add<int>(_t0D75,t22740);
          addr(IMAGE2D<int>) a273A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix273B,iy2737);
          real4 v12723#1 = LoadVoxels<IMAGE2D<int>,4>(a273A);
          int iy2730#1 = Add<int>(_t0D79,t22740);
          addr(IMAGE2D<int>) a2733#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix273B,iy2730);
          real4 v22724#1 = LoadVoxels<IMAGE2D<int>,4>(a2733);
          int iy2729#1 = Add<int>(_t0D51,t22740);
          addr(IMAGE2D<int>) a272C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix273B,iy2729);
          real4 v32725#1 = LoadVoxels<IMAGE2D<int>,4>(a272C);
          real fy274D#5 = Index<real2,1>(f271E);
          real t32752#1 = Add<real>(fy274D,_t0D4D);
          real t12750#1 = Sub<real>(fy274D,_t0D4D);
          real t0274F#1 = Sub<real>(fy274D,_t0D4F);
          real4 a274E#1 = <real4>[t32752,fy274D,t12750,t0274F];
          real4 hy2743#1 = EvalKernel<4,bspln3,0>(a274E);
          real fx2744#5 = Index<real2,0>(f271E);
          real t32749#1 = Add<real>(fx2744,_t0D4D);
          real t12747#1 = Sub<real>(fx2744,_t0D4D);
          real t02746#1 = Sub<real>(fx2744,_t0D4F);
          real4 a2745#1 = <real4>[t32749,fx2744,t12747,t02746];
          real4 hx2742#4 = EvalKernel<4,bspln3,0>(a2745);
          real t02757#1 = Dot<4>(v02722,hx2742);
          real t12758#1 = Dot<4>(v12723,hx2742);
          real t22759#1 = Dot<4>(v22724,hx2742);
          real t3275A#1 = Dot<4>(v32725,hx2742);
          real4 tv2756#1 = <real4>[t02757,t12758,t22759,t3275A];
          real _t271C#1 = Dot<4>(hy2743,tv2756);
          real _t2799#2 = Sub<real>(_t269F,_t271C);
          real _t279B#1 = Mul<real>(_t2799,_t2799);
          real score279D#1 = Add<real>(score2688,_t279B);
          goto JOIN27A0
        JOIN27A0:  preds = [ASSIGN279E,COND269E]
          real score279F#2 = phi(score279D,score2688)
          real _t27A1#1 = Dot<2>(r00D67,v240D0D);
          real _t27A3#1 = Dot<2>(r10D6D,v240D0D);
          real2 _t27A5#1 = <real2>[_t27A1,_t27A3];
          real2 pos27A7#3 = Add<real2>(_t27A5,_t0D7D);
          real2 x27AA#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos27A7);
          bool _t27A9#1 = Inside<IMAGE2D<float>,2>(x27AA,_t0CD1);
          if _t27A9 then goto ASSIGN27B0 else goto ASSIGN28BE
        ASSIGN27B0:  preds = [COND27AD]
          real2 x27AF#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v240D0D);
          bool _t27AE#1 = Inside<IMAGE2D<int>,2>(x27AF,_t0CCD);
          goto JOIN27B4
        JOIN27B4:  preds = [ASSIGN27B1,ASSIGN28BE]
          bool _t27B2#1 = phi(_t27AE,_t27B3)
          if _t27B2 then goto ASSIGN2C01 else goto JOIN28B7
        ASSIGN2C01:  preds = [COND27B5]
          real2 nd27B9#2 = Floor<2>(x27AA);
          real2 f27B8#2 = Sub<real2>(x27AA,nd27B9);
          int{2} n27BA#8 = RealToInt<2>(nd27B9);
          int t127D6#4 = -1;
          int t227D7#1 = Index<int{2},0>(n27BA);
          int ix27D5#4 = Add<int>(t127D6,t227D7);
          int t227DA#4 = Index<int{2},1>(n27BA);
          int iy27D8#1 = Add<int>(t127D6,t227DA);
          addr(IMAGE2D<float>) a27DB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix27D5,iy27D8);
          real4 v027BC#1 = LoadVoxels<IMAGE2D<float>,4>(a27DB);
          int iy27D1#1 = Add<int>(_t0D75,t227DA);
          addr(IMAGE2D<float>) a27D4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix27D5,iy27D1);
          real4 v127BD#1 = LoadVoxels<IMAGE2D<float>,4>(a27D4);
          int iy27CA#1 = Add<int>(_t0D79,t227DA);
          addr(IMAGE2D<float>) a27CD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix27D5,iy27CA);
          real4 v227BE#1 = LoadVoxels<IMAGE2D<float>,4>(a27CD);
          int iy27C3#1 = Add<int>(_t0D51,t227DA);
          addr(IMAGE2D<float>) a27C6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix27D5,iy27C3);
          real4 v327BF#1 = LoadVoxels<IMAGE2D<float>,4>(a27C6);
          real fy27E7#5 = Index<real2,1>(f27B8);
          real t327EC#1 = Add<real>(fy27E7,_t0D4D);
          real t127EA#1 = Sub<real>(fy27E7,_t0D4D);
          real t027E9#1 = Sub<real>(fy27E7,_t0D4F);
          real4 a27E8#1 = <real4>[t327EC,fy27E7,t127EA,t027E9];
          real4 hy27DD#1 = EvalKernel<4,bspln3,0>(a27E8);
          real fx27DE#5 = Index<real2,0>(f27B8);
          real t327E3#1 = Add<real>(fx27DE,_t0D4D);
          real t127E1#1 = Sub<real>(fx27DE,_t0D4D);
          real t027E0#1 = Sub<real>(fx27DE,_t0D4F);
          real4 a27DF#1 = <real4>[t327E3,fx27DE,t127E1,t027E0];
          real4 hx27DC#4 = EvalKernel<4,bspln3,0>(a27DF);
          real t027F1#1 = Dot<4>(v027BC,hx27DC);
          real t127F2#1 = Dot<4>(v127BD,hx27DC);
          real t227F3#1 = Dot<4>(v227BE,hx27DC);
          real t327F4#1 = Dot<4>(v327BF,hx27DC);
          real4 tv27F0#1 = <real4>[t027F1,t127F2,t227F3,t327F4];
          real _t27B6#1 = Dot<4>(hy27DD,tv27F0);
          real2 x2834#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v240D0D);
          real2 nd2836#2 = Floor<2>(x2834);
          real2 f2835#2 = Sub<real2>(x2834,nd2836);
          int{2} n2837#8 = RealToInt<2>(nd2836);
          int t22854#1 = Index<int{2},0>(n2837);
          int ix2852#4 = Add<int>(t127D6,t22854);
          int t22857#4 = Index<int{2},1>(n2837);
          int iy2855#1 = Add<int>(t127D6,t22857);
          addr(IMAGE2D<int>) a2858#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2852,iy2855);
          real4 v02839#1 = LoadVoxels<IMAGE2D<int>,4>(a2858);
          int iy284E#1 = Add<int>(_t0D75,t22857);
          addr(IMAGE2D<int>) a2851#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2852,iy284E);
          real4 v1283A#1 = LoadVoxels<IMAGE2D<int>,4>(a2851);
          int iy2847#1 = Add<int>(_t0D79,t22857);
          addr(IMAGE2D<int>) a284A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2852,iy2847);
          real4 v2283B#1 = LoadVoxels<IMAGE2D<int>,4>(a284A);
          int iy2840#1 = Add<int>(_t0D51,t22857);
          addr(IMAGE2D<int>) a2843#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2852,iy2840);
          real4 v3283C#1 = LoadVoxels<IMAGE2D<int>,4>(a2843);
          real fy2864#5 = Index<real2,1>(f2835);
          real t32869#1 = Add<real>(fy2864,_t0D4D);
          real t12867#1 = Sub<real>(fy2864,_t0D4D);
          real t02866#1 = Sub<real>(fy2864,_t0D4F);
          real4 a2865#1 = <real4>[t32869,fy2864,t12867,t02866];
          real4 hy285A#1 = EvalKernel<4,bspln3,0>(a2865);
          real fx285B#5 = Index<real2,0>(f2835);
          real t32860#1 = Add<real>(fx285B,_t0D4D);
          real t1285E#1 = Sub<real>(fx285B,_t0D4D);
          real t0285D#1 = Sub<real>(fx285B,_t0D4F);
          real4 a285C#1 = <real4>[t32860,fx285B,t1285E,t0285D];
          real4 hx2859#4 = EvalKernel<4,bspln3,0>(a285C);
          real t0286E#1 = Dot<4>(v02839,hx2859);
          real t1286F#1 = Dot<4>(v1283A,hx2859);
          real t22870#1 = Dot<4>(v2283B,hx2859);
          real t32871#1 = Dot<4>(v3283C,hx2859);
          real4 tv286D#1 = <real4>[t0286E,t1286F,t22870,t32871];
          real _t2833#1 = Dot<4>(hy285A,tv286D);
          real _t28B0#2 = Sub<real>(_t27B6,_t2833);
          real _t28B2#1 = Mul<real>(_t28B0,_t28B0);
          real score28B4#1 = Add<real>(score279F,_t28B2);
          goto JOIN28B7
        JOIN28B7:  preds = [ASSIGN28B5,COND27B5]
          real score28B6#1 = phi(score28B4,score279F)
          self.t = t0D49;
          self.score = score28B6;
          self.r0 = r00D67;
          self.r1 = r10D6D;
          self.pos = pos27A7;
          stabilize ()
        ASSIGN28BE:  preds = [COND27AD]
          bool _t27B3#1 = false;
          goto JOIN27B4
        ASSIGN28BF:  preds = [COND2696]
          bool _t269C#1 = false;
          goto JOIN269D
        ASSIGN28C0:  preds = [COND257F]
          bool _t2585#1 = false;
          goto JOIN2586
        ASSIGN28C1:  preds = [COND2468]
          bool _t246E#1 = false;
          goto JOIN246F
        ASSIGN28C2:  preds = [COND2351]
          bool _t2357#1 = false;
          goto JOIN2358
        ASSIGN28C3:  preds = [COND223A]
          bool _t2240#1 = false;
          goto JOIN2241
        ASSIGN28C4:  preds = [COND2123]
          bool _t2129#1 = false;
          goto JOIN212A
        ASSIGN28C5:  preds = [COND200C]
          bool _t2012#1 = false;
          goto JOIN2013
        ASSIGN28C6:  preds = [COND1EF5]
          bool _t1EFB#1 = false;
          goto JOIN1EFC
        ASSIGN28C7:  preds = [COND1DDE]
          bool _t1DE4#1 = false;
          goto JOIN1DE5
        ASSIGN28C8:  preds = [COND1CC7]
          bool _t1CCD#1 = false;
          goto JOIN1CCE
        ASSIGN28C9:  preds = [COND1BB0]
          bool _t1BB6#1 = false;
          goto JOIN1BB7
        ASSIGN28CA:  preds = [COND1A99]
          bool _t1A9F#1 = false;
          goto JOIN1AA0
        ASSIGN28CB:  preds = [COND1982]
          bool _t1988#1 = false;
          goto JOIN1989
        ASSIGN28CC:  preds = [COND186B]
          bool _t1871#1 = false;
          goto JOIN1872
        ASSIGN28CD:  preds = [COND1754]
          bool _t175A#1 = false;
          goto JOIN175B
        ASSIGN28CE:  preds = [COND163D]
          bool _t1643#1 = false;
          goto JOIN1644
        ASSIGN28CF:  preds = [COND1526]
          bool _t152C#1 = false;
          goto JOIN152D
        ASSIGN28D0:  preds = [COND140F]
          bool _t1415#1 = false;
          goto JOIN1416
        ASSIGN28D1:  preds = [COND12F8]
          bool _t12FE#1 = false;
          goto JOIN12FF
        ASSIGN28D2:  preds = [COND11E1]
          bool _t11E7#1 = false;
          goto JOIN11E8
        ASSIGN28D3:  preds = [COND10CA]
          bool _t10D0#1 = false;
          goto JOIN10D1
        ASSIGN28D4:  preds = [COND0FB3]
          bool _t0FB9#1 = false;
          goto JOIN0FBA
        ASSIGN28D5:  preds = [COND0E9C]
          bool _t0EA2#1 = false;
          goto JOIN0EA3
        ASSIGN28D6:  preds = [COND0D85]
          bool _t0D8B#1 = false;
          goto JOIN0D8C
    end Update
    method Stabilize
        ENTRY28D8:  preds = []
          real3 t28D9#1 = self.t;
          real score28DB#1 = self.score;
          real2 r028DD#1 = self.r0;
          real2 r128DF#1 = self.r1;
          real2 pos28E1#1 = self.pos;
          self.t = t28D9;
          self.score = score28DB;
          self.r0 = r028DD;
          self.r1 = r128DF;
          self.pos = pos28E1;
          return ()
    end Stabilize
  end R
#### end program ####
++ mid-opt:unused
##### MidIL after contraction ####
## properties
  none
## globals
  global int T0D0F#0
  global int F0D10#0
  global real2 v000CD5#4
  global real2 v010CD9#4
  global real2 v020CDD#4
  global real2 v030CE1#4
  global real2 v040CE5#4
  global real2 v050CE7#4
  global real2 v060CE9#4
  global real2 v070CEB#4
  global real2 v080CED#4
  global real2 v090CEF#4
  global real2 v100CF1#4
  global real2 v110CF3#4
  global real2 v120CF5#4
  global real2 v130CF7#4
  global real2 v140CF9#4
  global real2 v150CFB#4
  global real2 v160CFD#4
  global real2 v170CFF#4
  global real2 v180D01#4
  global real2 v190D03#4
  global real2 v200D05#4
  global real2 v210D07#4
  global real2 v220D09#4
  global real2 v230D0B#4
  global real2 v240D0D#4
  global string _t0CCB#1
  global image(IMAGE2D<int>) _t0CCD#175
  global int _t0CC9#0
  global string _t0CCF#1
  global image(IMAGE2D<float>) _t0CD1#175
  global real _t0CD3#10
  global real _t0CD7#11
  global real _t0CDF#10
  global real _t0CDB#11
  global real _t0CE3#10
## global initialization
  ENTRY0CC8:  preds = []
    string _t0CCB#1 = "square-template.nrrd";
    image(IMAGE2D<int>) _t0CCD#175 = LoadImage<IMAGE2D<int>>(_t0CCB);
    string _t0CCF#1 = "square-rotate.nrrd";
    image(IMAGE2D<float>) _t0CD1#175 = LoadImage<IMAGE2D<float>>(_t0CCF);
    real _t0CD3#10 = 0.0;
    real2 v000CD5#4 = <real2>[_t0CD3,_t0CD3];
    real _t0CD7#11 = 0.25e0;
    real2 v010CD9#4 = <real2>[_t0CD3,_t0CD7];
    real _t0CDB#11 = 0.5e0;
    real2 v020CDD#4 = <real2>[_t0CD3,_t0CDB];
    real _t0CDF#10 = Neg<real>(_t0CD7);
    real2 v030CE1#4 = <real2>[_t0CD3,_t0CDF];
    real _t0CE3#10 = Neg<real>(_t0CDB);
    real2 v040CE5#4 = <real2>[_t0CD3,_t0CE3];
    real2 v050CE7#4 = <real2>[_t0CD7,_t0CD3];
    real2 v060CE9#4 = <real2>[_t0CD7,_t0CD7];
    real2 v070CEB#4 = <real2>[_t0CD7,_t0CDB];
    real2 v080CED#4 = <real2>[_t0CD7,_t0CDF];
    real2 v090CEF#4 = <real2>[_t0CD7,_t0CE3];
    real2 v100CF1#4 = <real2>[_t0CDB,_t0CD3];
    real2 v110CF3#4 = <real2>[_t0CDB,_t0CD7];
    real2 v120CF5#4 = <real2>[_t0CDB,_t0CDB];
    real2 v130CF7#4 = <real2>[_t0CDB,_t0CDF];
    real2 v140CF9#4 = <real2>[_t0CDB,_t0CE3];
    real2 v150CFB#4 = <real2>[_t0CDF,_t0CD3];
    real2 v160CFD#4 = <real2>[_t0CDF,_t0CD7];
    real2 v170CFF#4 = <real2>[_t0CDF,_t0CDB];
    real2 v180D01#4 = <real2>[_t0CDF,_t0CDF];
    real2 v190D03#4 = <real2>[_t0CDF,_t0CE3];
    real2 v200D05#4 = <real2>[_t0CE3,_t0CD3];
    real2 v210D07#4 = <real2>[_t0CE3,_t0CD7];
    real2 v220D09#4 = <real2>[_t0CE3,_t0CDB];
    real2 v230D0B#4 = <real2>[_t0CE3,_t0CDF];
    real2 v240D0D#4 = <real2>[_t0CE3,_t0CE3];
    return (T0D0F,F0D10,v000CD5,v010CD9,v020CDD,v030CE1,v040CE5,v050CE7,v060CE9,v070CEB,v080CED,v090CEF,v100CF1,v110CF3,v120CF5,v130CF7,v140CF9,v150CFB,v160CFD,v170CFF,v180D01,v190D03,v200D05,v210D07,v220D09,v230D0B,v240D0D,_t0CCB,_t0CCD,_t0CC9,_t0CCF,_t0CD1,_t0CD3,_t0CD7,_t0CDF,_t0CDB,_t0CE3)
## initially
  ARRAY
    ENTRY0D17:  preds = []
      int _t0D13#4 = 0;
      int _t0D14#4 = 60;
      live vars = (_t0D14,_t0D13)
    for int i0D12#1 = _t0D13 .. _t0D14
      for int j0D15#1 = _t0D13 .. _t0D14
        for int k0D16#1 = _t0D13 .. _t0D14
          ENTRY0D1B:  preds = []
            live vars = ()
          new R(i0D12,j0D15,k0D16);
## strands
  strand R (int i0D1D#1, int j0D1E#1, int k0D1F#1)
    state: real3 self.t;output real self.score;real2 self.r0;real2 self.r1;real2 self.pos;
      ENTRY0D25:  preds = []
        real _t0D26#1 = IntToReal(i0D1D);
        real _t0D28#3 = 0.60e2;
        real _t0D2A#1 = Div<real>(_t0D26,_t0D28);
        real _t0D2C#3 = 0.5e0;
        real _t0D2E#1 = Sub<real>(_t0D2A,_t0D2C);
        real _t0D30#1 = IntToReal(j0D1E);
        real _t0D32#1 = Div<real>(_t0D30,_t0D28);
        real _t0D34#1 = Sub<real>(_t0D32,_t0D2C);
        real _t0D36#1 = IntToReal(k0D1F);
        real _t0D38#1 = Div<real>(_t0D36,_t0D28);
        real _t0D3A#1 = Sub<real>(_t0D38,_t0D2C);
        real3 t0D3C#1 = <real3>[_t0D2E,_t0D34,_t0D3A];
        real score0D3E#3 = 0.0;
        real2 r00D40#3 = <real2>[score0D3E,score0D3E];
        self.t = t0D3C;
        self.score = score0D3E;
        self.r0 = r00D40;
        self.r1 = r00D40;
        self.pos = r00D40;
        strand_init ()
    method Update
        ENTRY0D48:  preds = []
          real3 t0D49#4 = self.t;
          real score0D4B#2 = self.score;
          real _t0D4D#202 = 0.1e1;
          real _t0D4F#103 = 0.2e1;
          int _t0D51#51 = 2;
          real _t0D53#6 = Subscript<real3>(t0D49,_t0D51);
          real _t0D55#1 = Mul<real>(_t0D4F,_t0D53);
          real _t0D57#1 = Mul<real>(_t0D55,_t0D53);
          real _t0D59#2 = Sub<real>(_t0D4D,_t0D57);
          real _t0D5B#1 = Neg<real>(_t0D4F);
          real _t0D5D#1 = Mul<real>(_t0D53,_t0D53);
          real _t0D5F#1 = Sub<real>(_t0D4D,_t0D5D);
          real _t0D61#2 = sqrt(_t0D5F);
          real _t0D63#1 = Mul<real>(_t0D5B,_t0D61);
          real _t0D65#1 = Mul<real>(_t0D63,_t0D53);
          real2 r00D67#26 = <real2>[_t0D59,_t0D65];
          real _t0D69#1 = Mul<real>(_t0D4F,_t0D61);
          real _t0D6B#1 = Mul<real>(_t0D69,_t0D53);
          real2 r10D6D#26 = <real2>[_t0D6B,_t0D59];
          real _t0D6F#1 = Dot<2>(r00D67,v000CD5);
          real _t0D71#1 = Dot<2>(r10D6D,v000CD5);
          real2 _t0D73#1 = <real2>[_t0D6F,_t0D71];
          int _t0D75#51 = 0;
          real _t0D77#1 = Subscript<real3>(t0D49,_t0D75);
          int _t0D79#51 = 1;
          real _t0D7B#1 = Subscript<real3>(t0D49,_t0D79);
          real2 _t0D7D#25 = <real2>[_t0D77,_t0D7B];
          real2 pos0D7F#2 = Add<real2>(_t0D73,_t0D7D);
          real2 x0D82#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos0D7F);
          bool _t0D81#1 = Inside<IMAGE2D<float>,2>(x0D82,_t0CD1);
          if _t0D81 then goto ASSIGN0D88 else goto ASSIGN28D6
        ASSIGN0D88:  preds = [COND0D85]
          real2 x0D87#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v000CD5);
          bool _t0D86#1 = Inside<IMAGE2D<int>,2>(x0D87,_t0CCD);
          goto JOIN0D8C
        JOIN0D8C:  preds = [ASSIGN0D89,ASSIGN28D6]
          bool _t0D8A#1 = phi(_t0D86,_t0D8B)
          if _t0D8A then goto ASSIGN28E9 else goto JOIN0E8F
        ASSIGN28E9:  preds = [COND0D8D]
          real2 nd0D91#2 = Floor<2>(x0D82);
          real2 f0D90#2 = Sub<real2>(x0D82,nd0D91);
          int{2} n0D92#8 = RealToInt<2>(nd0D91);
          int t10DAE#4 = -1;
          int t20DAF#1 = Index<int{2},0>(n0D92);
          int ix0DAD#4 = Add<int>(t10DAE,t20DAF);
          int t20DB2#4 = Index<int{2},1>(n0D92);
          int iy0DB0#1 = Add<int>(t10DAE,t20DB2);
          addr(IMAGE2D<float>) a0DB3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0DAD,iy0DB0);
          real4 v00D94#1 = LoadVoxels<IMAGE2D<float>,4>(a0DB3);
          int iy0DA9#1 = Add<int>(_t0D75,t20DB2);
          addr(IMAGE2D<float>) a0DAC#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0DAD,iy0DA9);
          real4 v10D95#1 = LoadVoxels<IMAGE2D<float>,4>(a0DAC);
          int iy0DA2#1 = Add<int>(_t0D79,t20DB2);
          addr(IMAGE2D<float>) a0DA5#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0DAD,iy0DA2);
          real4 v20D96#1 = LoadVoxels<IMAGE2D<float>,4>(a0DA5);
          int iy0D9B#1 = Add<int>(_t0D51,t20DB2);
          addr(IMAGE2D<float>) a0D9E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0DAD,iy0D9B);
          real4 v30D97#1 = LoadVoxels<IMAGE2D<float>,4>(a0D9E);
          real fy0DBF#5 = Index<real2,1>(f0D90);
          real t30DC4#1 = Add<real>(fy0DBF,_t0D4D);
          real t10DC2#1 = Sub<real>(fy0DBF,_t0D4D);
          real t00DC1#1 = Sub<real>(fy0DBF,_t0D4F);
          real4 a0DC0#1 = <real4>[t30DC4,fy0DBF,t10DC2,t00DC1];
          real4 hy0DB5#1 = EvalKernel<4,bspln3,0>(a0DC0);
          real fx0DB6#5 = Index<real2,0>(f0D90);
          real t30DBB#1 = Add<real>(fx0DB6,_t0D4D);
          real t10DB9#1 = Sub<real>(fx0DB6,_t0D4D);
          real t00DB8#1 = Sub<real>(fx0DB6,_t0D4F);
          real4 a0DB7#1 = <real4>[t30DBB,fx0DB6,t10DB9,t00DB8];
          real4 hx0DB4#4 = EvalKernel<4,bspln3,0>(a0DB7);
          real t00DC9#1 = Dot<4>(v00D94,hx0DB4);
          real t10DCA#1 = Dot<4>(v10D95,hx0DB4);
          real t20DCB#1 = Dot<4>(v20D96,hx0DB4);
          real t30DCC#1 = Dot<4>(v30D97,hx0DB4);
          real4 tv0DC8#1 = <real4>[t00DC9,t10DCA,t20DCB,t30DCC];
          real _t0D8E#1 = Dot<4>(hy0DB5,tv0DC8);
          real2 x0E0C#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v000CD5);
          real2 nd0E0E#2 = Floor<2>(x0E0C);
          real2 f0E0D#2 = Sub<real2>(x0E0C,nd0E0E);
          int{2} n0E0F#8 = RealToInt<2>(nd0E0E);
          int t20E2C#1 = Index<int{2},0>(n0E0F);
          int ix0E2A#4 = Add<int>(t10DAE,t20E2C);
          int t20E2F#4 = Index<int{2},1>(n0E0F);
          int iy0E2D#1 = Add<int>(t10DAE,t20E2F);
          addr(IMAGE2D<int>) a0E30#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0E2A,iy0E2D);
          real4 v00E11#1 = LoadVoxels<IMAGE2D<int>,4>(a0E30);
          int iy0E26#1 = Add<int>(_t0D75,t20E2F);
          addr(IMAGE2D<int>) a0E29#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0E2A,iy0E26);
          real4 v10E12#1 = LoadVoxels<IMAGE2D<int>,4>(a0E29);
          int iy0E1F#1 = Add<int>(_t0D79,t20E2F);
          addr(IMAGE2D<int>) a0E22#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0E2A,iy0E1F);
          real4 v20E13#1 = LoadVoxels<IMAGE2D<int>,4>(a0E22);
          int iy0E18#1 = Add<int>(_t0D51,t20E2F);
          addr(IMAGE2D<int>) a0E1B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0E2A,iy0E18);
          real4 v30E14#1 = LoadVoxels<IMAGE2D<int>,4>(a0E1B);
          real fy0E3C#5 = Index<real2,1>(f0E0D);
          real t30E41#1 = Add<real>(fy0E3C,_t0D4D);
          real t10E3F#1 = Sub<real>(fy0E3C,_t0D4D);
          real t00E3E#1 = Sub<real>(fy0E3C,_t0D4F);
          real4 a0E3D#1 = <real4>[t30E41,fy0E3C,t10E3F,t00E3E];
          real4 hy0E32#1 = EvalKernel<4,bspln3,0>(a0E3D);
          real fx0E33#5 = Index<real2,0>(f0E0D);
          real t30E38#1 = Add<real>(fx0E33,_t0D4D);
          real t10E36#1 = Sub<real>(fx0E33,_t0D4D);
          real t00E35#1 = Sub<real>(fx0E33,_t0D4F);
          real4 a0E34#1 = <real4>[t30E38,fx0E33,t10E36,t00E35];
          real4 hx0E31#4 = EvalKernel<4,bspln3,0>(a0E34);
          real t00E46#1 = Dot<4>(v00E11,hx0E31);
          real t10E47#1 = Dot<4>(v10E12,hx0E31);
          real t20E48#1 = Dot<4>(v20E13,hx0E31);
          real t30E49#1 = Dot<4>(v30E14,hx0E31);
          real4 tv0E45#1 = <real4>[t00E46,t10E47,t20E48,t30E49];
          real _t0E0B#1 = Dot<4>(hy0E32,tv0E45);
          real _t0E88#2 = Sub<real>(_t0D8E,_t0E0B);
          real _t0E8A#1 = Mul<real>(_t0E88,_t0E88);
          real score0E8C#1 = Add<real>(score0D4B,_t0E8A);
          goto JOIN0E8F
        JOIN0E8F:  preds = [ASSIGN0E8D,COND0D8D]
          real score0E8E#2 = phi(score0E8C,score0D4B)
          real _t0E90#1 = Dot<2>(r00D67,v010CD9);
          real _t0E92#1 = Dot<2>(r10D6D,v010CD9);
          real2 _t0E94#1 = <real2>[_t0E90,_t0E92];
          real2 pos0E96#2 = Add<real2>(_t0E94,_t0D7D);
          real2 x0E99#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos0E96);
          bool _t0E98#1 = Inside<IMAGE2D<float>,2>(x0E99,_t0CD1);
          if _t0E98 then goto ASSIGN0E9F else goto ASSIGN28D5
        ASSIGN0E9F:  preds = [COND0E9C]
          real2 x0E9E#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v010CD9);
          bool _t0E9D#1 = Inside<IMAGE2D<int>,2>(x0E9E,_t0CCD);
          goto JOIN0EA3
        JOIN0EA3:  preds = [ASSIGN0EA0,ASSIGN28D5]
          bool _t0EA1#1 = phi(_t0E9D,_t0EA2)
          if _t0EA1 then goto ASSIGN290A else goto JOIN0FA6
        ASSIGN290A:  preds = [COND0EA4]
          real2 nd0EA8#2 = Floor<2>(x0E99);
          real2 f0EA7#2 = Sub<real2>(x0E99,nd0EA8);
          int{2} n0EA9#8 = RealToInt<2>(nd0EA8);
          int t10EC5#4 = -1;
          int t20EC6#1 = Index<int{2},0>(n0EA9);
          int ix0EC4#4 = Add<int>(t10EC5,t20EC6);
          int t20EC9#4 = Index<int{2},1>(n0EA9);
          int iy0EC7#1 = Add<int>(t10EC5,t20EC9);
          addr(IMAGE2D<float>) a0ECA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0EC4,iy0EC7);
          real4 v00EAB#1 = LoadVoxels<IMAGE2D<float>,4>(a0ECA);
          int iy0EC0#1 = Add<int>(_t0D75,t20EC9);
          addr(IMAGE2D<float>) a0EC3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0EC4,iy0EC0);
          real4 v10EAC#1 = LoadVoxels<IMAGE2D<float>,4>(a0EC3);
          int iy0EB9#1 = Add<int>(_t0D79,t20EC9);
          addr(IMAGE2D<float>) a0EBC#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0EC4,iy0EB9);
          real4 v20EAD#1 = LoadVoxels<IMAGE2D<float>,4>(a0EBC);
          int iy0EB2#1 = Add<int>(_t0D51,t20EC9);
          addr(IMAGE2D<float>) a0EB5#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0EC4,iy0EB2);
          real4 v30EAE#1 = LoadVoxels<IMAGE2D<float>,4>(a0EB5);
          real fy0ED6#5 = Index<real2,1>(f0EA7);
          real t30EDB#1 = Add<real>(fy0ED6,_t0D4D);
          real t10ED9#1 = Sub<real>(fy0ED6,_t0D4D);
          real t00ED8#1 = Sub<real>(fy0ED6,_t0D4F);
          real4 a0ED7#1 = <real4>[t30EDB,fy0ED6,t10ED9,t00ED8];
          real4 hy0ECC#1 = EvalKernel<4,bspln3,0>(a0ED7);
          real fx0ECD#5 = Index<real2,0>(f0EA7);
          real t30ED2#1 = Add<real>(fx0ECD,_t0D4D);
          real t10ED0#1 = Sub<real>(fx0ECD,_t0D4D);
          real t00ECF#1 = Sub<real>(fx0ECD,_t0D4F);
          real4 a0ECE#1 = <real4>[t30ED2,fx0ECD,t10ED0,t00ECF];
          real4 hx0ECB#4 = EvalKernel<4,bspln3,0>(a0ECE);
          real t00EE0#1 = Dot<4>(v00EAB,hx0ECB);
          real t10EE1#1 = Dot<4>(v10EAC,hx0ECB);
          real t20EE2#1 = Dot<4>(v20EAD,hx0ECB);
          real t30EE3#1 = Dot<4>(v30EAE,hx0ECB);
          real4 tv0EDF#1 = <real4>[t00EE0,t10EE1,t20EE2,t30EE3];
          real _t0EA5#1 = Dot<4>(hy0ECC,tv0EDF);
          real2 x0F23#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v010CD9);
          real2 nd0F25#2 = Floor<2>(x0F23);
          real2 f0F24#2 = Sub<real2>(x0F23,nd0F25);
          int{2} n0F26#8 = RealToInt<2>(nd0F25);
          int t20F43#1 = Index<int{2},0>(n0F26);
          int ix0F41#4 = Add<int>(t10EC5,t20F43);
          int t20F46#4 = Index<int{2},1>(n0F26);
          int iy0F44#1 = Add<int>(t10EC5,t20F46);
          addr(IMAGE2D<int>) a0F47#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0F41,iy0F44);
          real4 v00F28#1 = LoadVoxels<IMAGE2D<int>,4>(a0F47);
          int iy0F3D#1 = Add<int>(_t0D75,t20F46);
          addr(IMAGE2D<int>) a0F40#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0F41,iy0F3D);
          real4 v10F29#1 = LoadVoxels<IMAGE2D<int>,4>(a0F40);
          int iy0F36#1 = Add<int>(_t0D79,t20F46);
          addr(IMAGE2D<int>) a0F39#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0F41,iy0F36);
          real4 v20F2A#1 = LoadVoxels<IMAGE2D<int>,4>(a0F39);
          int iy0F2F#1 = Add<int>(_t0D51,t20F46);
          addr(IMAGE2D<int>) a0F32#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix0F41,iy0F2F);
          real4 v30F2B#1 = LoadVoxels<IMAGE2D<int>,4>(a0F32);
          real fy0F53#5 = Index<real2,1>(f0F24);
          real t30F58#1 = Add<real>(fy0F53,_t0D4D);
          real t10F56#1 = Sub<real>(fy0F53,_t0D4D);
          real t00F55#1 = Sub<real>(fy0F53,_t0D4F);
          real4 a0F54#1 = <real4>[t30F58,fy0F53,t10F56,t00F55];
          real4 hy0F49#1 = EvalKernel<4,bspln3,0>(a0F54);
          real fx0F4A#5 = Index<real2,0>(f0F24);
          real t30F4F#1 = Add<real>(fx0F4A,_t0D4D);
          real t10F4D#1 = Sub<real>(fx0F4A,_t0D4D);
          real t00F4C#1 = Sub<real>(fx0F4A,_t0D4F);
          real4 a0F4B#1 = <real4>[t30F4F,fx0F4A,t10F4D,t00F4C];
          real4 hx0F48#4 = EvalKernel<4,bspln3,0>(a0F4B);
          real t00F5D#1 = Dot<4>(v00F28,hx0F48);
          real t10F5E#1 = Dot<4>(v10F29,hx0F48);
          real t20F5F#1 = Dot<4>(v20F2A,hx0F48);
          real t30F60#1 = Dot<4>(v30F2B,hx0F48);
          real4 tv0F5C#1 = <real4>[t00F5D,t10F5E,t20F5F,t30F60];
          real _t0F22#1 = Dot<4>(hy0F49,tv0F5C);
          real _t0F9F#2 = Sub<real>(_t0EA5,_t0F22);
          real _t0FA1#1 = Mul<real>(_t0F9F,_t0F9F);
          real score0FA3#1 = Add<real>(score0E8E,_t0FA1);
          goto JOIN0FA6
        JOIN0FA6:  preds = [ASSIGN0FA4,COND0EA4]
          real score0FA5#2 = phi(score0FA3,score0E8E)
          real _t0FA7#1 = Dot<2>(r00D67,v020CDD);
          real _t0FA9#1 = Dot<2>(r10D6D,v020CDD);
          real2 _t0FAB#1 = <real2>[_t0FA7,_t0FA9];
          real2 pos0FAD#2 = Add<real2>(_t0FAB,_t0D7D);
          real2 x0FB0#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos0FAD);
          bool _t0FAF#1 = Inside<IMAGE2D<float>,2>(x0FB0,_t0CD1);
          if _t0FAF then goto ASSIGN0FB6 else goto ASSIGN28D4
        ASSIGN0FB6:  preds = [COND0FB3]
          real2 x0FB5#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v020CDD);
          bool _t0FB4#1 = Inside<IMAGE2D<int>,2>(x0FB5,_t0CCD);
          goto JOIN0FBA
        JOIN0FBA:  preds = [ASSIGN0FB7,ASSIGN28D4]
          bool _t0FB8#1 = phi(_t0FB4,_t0FB9)
          if _t0FB8 then goto ASSIGN292B else goto JOIN10BD
        ASSIGN292B:  preds = [COND0FBB]
          real2 nd0FBF#2 = Floor<2>(x0FB0);
          real2 f0FBE#2 = Sub<real2>(x0FB0,nd0FBF);
          int{2} n0FC0#8 = RealToInt<2>(nd0FBF);
          int t10FDC#4 = -1;
          int t20FDD#1 = Index<int{2},0>(n0FC0);
          int ix0FDB#4 = Add<int>(t10FDC,t20FDD);
          int t20FE0#4 = Index<int{2},1>(n0FC0);
          int iy0FDE#1 = Add<int>(t10FDC,t20FE0);
          addr(IMAGE2D<float>) a0FE1#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0FDB,iy0FDE);
          real4 v00FC2#1 = LoadVoxels<IMAGE2D<float>,4>(a0FE1);
          int iy0FD7#1 = Add<int>(_t0D75,t20FE0);
          addr(IMAGE2D<float>) a0FDA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0FDB,iy0FD7);
          real4 v10FC3#1 = LoadVoxels<IMAGE2D<float>,4>(a0FDA);
          int iy0FD0#1 = Add<int>(_t0D79,t20FE0);
          addr(IMAGE2D<float>) a0FD3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0FDB,iy0FD0);
          real4 v20FC4#1 = LoadVoxels<IMAGE2D<float>,4>(a0FD3);
          int iy0FC9#1 = Add<int>(_t0D51,t20FE0);
          addr(IMAGE2D<float>) a0FCC#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix0FDB,iy0FC9);
          real4 v30FC5#1 = LoadVoxels<IMAGE2D<float>,4>(a0FCC);
          real fy0FED#5 = Index<real2,1>(f0FBE);
          real t30FF2#1 = Add<real>(fy0FED,_t0D4D);
          real t10FF0#1 = Sub<real>(fy0FED,_t0D4D);
          real t00FEF#1 = Sub<real>(fy0FED,_t0D4F);
          real4 a0FEE#1 = <real4>[t30FF2,fy0FED,t10FF0,t00FEF];
          real4 hy0FE3#1 = EvalKernel<4,bspln3,0>(a0FEE);
          real fx0FE4#5 = Index<real2,0>(f0FBE);
          real t30FE9#1 = Add<real>(fx0FE4,_t0D4D);
          real t10FE7#1 = Sub<real>(fx0FE4,_t0D4D);
          real t00FE6#1 = Sub<real>(fx0FE4,_t0D4F);
          real4 a0FE5#1 = <real4>[t30FE9,fx0FE4,t10FE7,t00FE6];
          real4 hx0FE2#4 = EvalKernel<4,bspln3,0>(a0FE5);
          real t00FF7#1 = Dot<4>(v00FC2,hx0FE2);
          real t10FF8#1 = Dot<4>(v10FC3,hx0FE2);
          real t20FF9#1 = Dot<4>(v20FC4,hx0FE2);
          real t30FFA#1 = Dot<4>(v30FC5,hx0FE2);
          real4 tv0FF6#1 = <real4>[t00FF7,t10FF8,t20FF9,t30FFA];
          real _t0FBC#1 = Dot<4>(hy0FE3,tv0FF6);
          real2 x103A#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v020CDD);
          real2 nd103C#2 = Floor<2>(x103A);
          real2 f103B#2 = Sub<real2>(x103A,nd103C);
          int{2} n103D#8 = RealToInt<2>(nd103C);
          int t2105A#1 = Index<int{2},0>(n103D);
          int ix1058#4 = Add<int>(t10FDC,t2105A);
          int t2105D#4 = Index<int{2},1>(n103D);
          int iy105B#1 = Add<int>(t10FDC,t2105D);
          addr(IMAGE2D<int>) a105E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1058,iy105B);
          real4 v0103F#1 = LoadVoxels<IMAGE2D<int>,4>(a105E);
          int iy1054#1 = Add<int>(_t0D75,t2105D);
          addr(IMAGE2D<int>) a1057#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1058,iy1054);
          real4 v11040#1 = LoadVoxels<IMAGE2D<int>,4>(a1057);
          int iy104D#1 = Add<int>(_t0D79,t2105D);
          addr(IMAGE2D<int>) a1050#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1058,iy104D);
          real4 v21041#1 = LoadVoxels<IMAGE2D<int>,4>(a1050);
          int iy1046#1 = Add<int>(_t0D51,t2105D);
          addr(IMAGE2D<int>) a1049#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1058,iy1046);
          real4 v31042#1 = LoadVoxels<IMAGE2D<int>,4>(a1049);
          real fy106A#5 = Index<real2,1>(f103B);
          real t3106F#1 = Add<real>(fy106A,_t0D4D);
          real t1106D#1 = Sub<real>(fy106A,_t0D4D);
          real t0106C#1 = Sub<real>(fy106A,_t0D4F);
          real4 a106B#1 = <real4>[t3106F,fy106A,t1106D,t0106C];
          real4 hy1060#1 = EvalKernel<4,bspln3,0>(a106B);
          real fx1061#5 = Index<real2,0>(f103B);
          real t31066#1 = Add<real>(fx1061,_t0D4D);
          real t11064#1 = Sub<real>(fx1061,_t0D4D);
          real t01063#1 = Sub<real>(fx1061,_t0D4F);
          real4 a1062#1 = <real4>[t31066,fx1061,t11064,t01063];
          real4 hx105F#4 = EvalKernel<4,bspln3,0>(a1062);
          real t01074#1 = Dot<4>(v0103F,hx105F);
          real t11075#1 = Dot<4>(v11040,hx105F);
          real t21076#1 = Dot<4>(v21041,hx105F);
          real t31077#1 = Dot<4>(v31042,hx105F);
          real4 tv1073#1 = <real4>[t01074,t11075,t21076,t31077];
          real _t1039#1 = Dot<4>(hy1060,tv1073);
          real _t10B6#2 = Sub<real>(_t0FBC,_t1039);
          real _t10B8#1 = Mul<real>(_t10B6,_t10B6);
          real score10BA#1 = Add<real>(score0FA5,_t10B8);
          goto JOIN10BD
        JOIN10BD:  preds = [ASSIGN10BB,COND0FBB]
          real score10BC#2 = phi(score10BA,score0FA5)
          real _t10BE#1 = Dot<2>(r00D67,v030CE1);
          real _t10C0#1 = Dot<2>(r10D6D,v030CE1);
          real2 _t10C2#1 = <real2>[_t10BE,_t10C0];
          real2 pos10C4#2 = Add<real2>(_t10C2,_t0D7D);
          real2 x10C7#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos10C4);
          bool _t10C6#1 = Inside<IMAGE2D<float>,2>(x10C7,_t0CD1);
          if _t10C6 then goto ASSIGN10CD else goto ASSIGN28D3
        ASSIGN10CD:  preds = [COND10CA]
          real2 x10CC#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v030CE1);
          bool _t10CB#1 = Inside<IMAGE2D<int>,2>(x10CC,_t0CCD);
          goto JOIN10D1
        JOIN10D1:  preds = [ASSIGN10CE,ASSIGN28D3]
          bool _t10CF#1 = phi(_t10CB,_t10D0)
          if _t10CF then goto ASSIGN294C else goto JOIN11D4
        ASSIGN294C:  preds = [COND10D2]
          real2 nd10D6#2 = Floor<2>(x10C7);
          real2 f10D5#2 = Sub<real2>(x10C7,nd10D6);
          int{2} n10D7#8 = RealToInt<2>(nd10D6);
          int t110F3#4 = -1;
          int t210F4#1 = Index<int{2},0>(n10D7);
          int ix10F2#4 = Add<int>(t110F3,t210F4);
          int t210F7#4 = Index<int{2},1>(n10D7);
          int iy10F5#1 = Add<int>(t110F3,t210F7);
          addr(IMAGE2D<float>) a10F8#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix10F2,iy10F5);
          real4 v010D9#1 = LoadVoxels<IMAGE2D<float>,4>(a10F8);
          int iy10EE#1 = Add<int>(_t0D75,t210F7);
          addr(IMAGE2D<float>) a10F1#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix10F2,iy10EE);
          real4 v110DA#1 = LoadVoxels<IMAGE2D<float>,4>(a10F1);
          int iy10E7#1 = Add<int>(_t0D79,t210F7);
          addr(IMAGE2D<float>) a10EA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix10F2,iy10E7);
          real4 v210DB#1 = LoadVoxels<IMAGE2D<float>,4>(a10EA);
          int iy10E0#1 = Add<int>(_t0D51,t210F7);
          addr(IMAGE2D<float>) a10E3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix10F2,iy10E0);
          real4 v310DC#1 = LoadVoxels<IMAGE2D<float>,4>(a10E3);
          real fy1104#5 = Index<real2,1>(f10D5);
          real t31109#1 = Add<real>(fy1104,_t0D4D);
          real t11107#1 = Sub<real>(fy1104,_t0D4D);
          real t01106#1 = Sub<real>(fy1104,_t0D4F);
          real4 a1105#1 = <real4>[t31109,fy1104,t11107,t01106];
          real4 hy10FA#1 = EvalKernel<4,bspln3,0>(a1105);
          real fx10FB#5 = Index<real2,0>(f10D5);
          real t31100#1 = Add<real>(fx10FB,_t0D4D);
          real t110FE#1 = Sub<real>(fx10FB,_t0D4D);
          real t010FD#1 = Sub<real>(fx10FB,_t0D4F);
          real4 a10FC#1 = <real4>[t31100,fx10FB,t110FE,t010FD];
          real4 hx10F9#4 = EvalKernel<4,bspln3,0>(a10FC);
          real t0110E#1 = Dot<4>(v010D9,hx10F9);
          real t1110F#1 = Dot<4>(v110DA,hx10F9);
          real t21110#1 = Dot<4>(v210DB,hx10F9);
          real t31111#1 = Dot<4>(v310DC,hx10F9);
          real4 tv110D#1 = <real4>[t0110E,t1110F,t21110,t31111];
          real _t10D3#1 = Dot<4>(hy10FA,tv110D);
          real2 x1151#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v030CE1);
          real2 nd1153#2 = Floor<2>(x1151);
          real2 f1152#2 = Sub<real2>(x1151,nd1153);
          int{2} n1154#8 = RealToInt<2>(nd1153);
          int t21171#1 = Index<int{2},0>(n1154);
          int ix116F#4 = Add<int>(t110F3,t21171);
          int t21174#4 = Index<int{2},1>(n1154);
          int iy1172#1 = Add<int>(t110F3,t21174);
          addr(IMAGE2D<int>) a1175#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix116F,iy1172);
          real4 v01156#1 = LoadVoxels<IMAGE2D<int>,4>(a1175);
          int iy116B#1 = Add<int>(_t0D75,t21174);
          addr(IMAGE2D<int>) a116E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix116F,iy116B);
          real4 v11157#1 = LoadVoxels<IMAGE2D<int>,4>(a116E);
          int iy1164#1 = Add<int>(_t0D79,t21174);
          addr(IMAGE2D<int>) a1167#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix116F,iy1164);
          real4 v21158#1 = LoadVoxels<IMAGE2D<int>,4>(a1167);
          int iy115D#1 = Add<int>(_t0D51,t21174);
          addr(IMAGE2D<int>) a1160#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix116F,iy115D);
          real4 v31159#1 = LoadVoxels<IMAGE2D<int>,4>(a1160);
          real fy1181#5 = Index<real2,1>(f1152);
          real t31186#1 = Add<real>(fy1181,_t0D4D);
          real t11184#1 = Sub<real>(fy1181,_t0D4D);
          real t01183#1 = Sub<real>(fy1181,_t0D4F);
          real4 a1182#1 = <real4>[t31186,fy1181,t11184,t01183];
          real4 hy1177#1 = EvalKernel<4,bspln3,0>(a1182);
          real fx1178#5 = Index<real2,0>(f1152);
          real t3117D#1 = Add<real>(fx1178,_t0D4D);
          real t1117B#1 = Sub<real>(fx1178,_t0D4D);
          real t0117A#1 = Sub<real>(fx1178,_t0D4F);
          real4 a1179#1 = <real4>[t3117D,fx1178,t1117B,t0117A];
          real4 hx1176#4 = EvalKernel<4,bspln3,0>(a1179);
          real t0118B#1 = Dot<4>(v01156,hx1176);
          real t1118C#1 = Dot<4>(v11157,hx1176);
          real t2118D#1 = Dot<4>(v21158,hx1176);
          real t3118E#1 = Dot<4>(v31159,hx1176);
          real4 tv118A#1 = <real4>[t0118B,t1118C,t2118D,t3118E];
          real _t1150#1 = Dot<4>(hy1177,tv118A);
          real _t11CD#2 = Sub<real>(_t10D3,_t1150);
          real _t11CF#1 = Mul<real>(_t11CD,_t11CD);
          real score11D1#1 = Add<real>(score10BC,_t11CF);
          goto JOIN11D4
        JOIN11D4:  preds = [ASSIGN11D2,COND10D2]
          real score11D3#2 = phi(score11D1,score10BC)
          real _t11D5#1 = Dot<2>(r00D67,v040CE5);
          real _t11D7#1 = Dot<2>(r10D6D,v040CE5);
          real2 _t11D9#1 = <real2>[_t11D5,_t11D7];
          real2 pos11DB#2 = Add<real2>(_t11D9,_t0D7D);
          real2 x11DE#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos11DB);
          bool _t11DD#1 = Inside<IMAGE2D<float>,2>(x11DE,_t0CD1);
          if _t11DD then goto ASSIGN11E4 else goto ASSIGN28D2
        ASSIGN11E4:  preds = [COND11E1]
          real2 x11E3#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v040CE5);
          bool _t11E2#1 = Inside<IMAGE2D<int>,2>(x11E3,_t0CCD);
          goto JOIN11E8
        JOIN11E8:  preds = [ASSIGN11E5,ASSIGN28D2]
          bool _t11E6#1 = phi(_t11E2,_t11E7)
          if _t11E6 then goto ASSIGN296D else goto JOIN12EB
        ASSIGN296D:  preds = [COND11E9]
          real2 nd11ED#2 = Floor<2>(x11DE);
          real2 f11EC#2 = Sub<real2>(x11DE,nd11ED);
          int{2} n11EE#8 = RealToInt<2>(nd11ED);
          int t1120A#4 = -1;
          int t2120B#1 = Index<int{2},0>(n11EE);
          int ix1209#4 = Add<int>(t1120A,t2120B);
          int t2120E#4 = Index<int{2},1>(n11EE);
          int iy120C#1 = Add<int>(t1120A,t2120E);
          addr(IMAGE2D<float>) a120F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1209,iy120C);
          real4 v011F0#1 = LoadVoxels<IMAGE2D<float>,4>(a120F);
          int iy1205#1 = Add<int>(_t0D75,t2120E);
          addr(IMAGE2D<float>) a1208#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1209,iy1205);
          real4 v111F1#1 = LoadVoxels<IMAGE2D<float>,4>(a1208);
          int iy11FE#1 = Add<int>(_t0D79,t2120E);
          addr(IMAGE2D<float>) a1201#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1209,iy11FE);
          real4 v211F2#1 = LoadVoxels<IMAGE2D<float>,4>(a1201);
          int iy11F7#1 = Add<int>(_t0D51,t2120E);
          addr(IMAGE2D<float>) a11FA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1209,iy11F7);
          real4 v311F3#1 = LoadVoxels<IMAGE2D<float>,4>(a11FA);
          real fy121B#5 = Index<real2,1>(f11EC);
          real t31220#1 = Add<real>(fy121B,_t0D4D);
          real t1121E#1 = Sub<real>(fy121B,_t0D4D);
          real t0121D#1 = Sub<real>(fy121B,_t0D4F);
          real4 a121C#1 = <real4>[t31220,fy121B,t1121E,t0121D];
          real4 hy1211#1 = EvalKernel<4,bspln3,0>(a121C);
          real fx1212#5 = Index<real2,0>(f11EC);
          real t31217#1 = Add<real>(fx1212,_t0D4D);
          real t11215#1 = Sub<real>(fx1212,_t0D4D);
          real t01214#1 = Sub<real>(fx1212,_t0D4F);
          real4 a1213#1 = <real4>[t31217,fx1212,t11215,t01214];
          real4 hx1210#4 = EvalKernel<4,bspln3,0>(a1213);
          real t01225#1 = Dot<4>(v011F0,hx1210);
          real t11226#1 = Dot<4>(v111F1,hx1210);
          real t21227#1 = Dot<4>(v211F2,hx1210);
          real t31228#1 = Dot<4>(v311F3,hx1210);
          real4 tv1224#1 = <real4>[t01225,t11226,t21227,t31228];
          real _t11EA#1 = Dot<4>(hy1211,tv1224);
          real2 x1268#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v040CE5);
          real2 nd126A#2 = Floor<2>(x1268);
          real2 f1269#2 = Sub<real2>(x1268,nd126A);
          int{2} n126B#8 = RealToInt<2>(nd126A);
          int t21288#1 = Index<int{2},0>(n126B);
          int ix1286#4 = Add<int>(t1120A,t21288);
          int t2128B#4 = Index<int{2},1>(n126B);
          int iy1289#1 = Add<int>(t1120A,t2128B);
          addr(IMAGE2D<int>) a128C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1286,iy1289);
          real4 v0126D#1 = LoadVoxels<IMAGE2D<int>,4>(a128C);
          int iy1282#1 = Add<int>(_t0D75,t2128B);
          addr(IMAGE2D<int>) a1285#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1286,iy1282);
          real4 v1126E#1 = LoadVoxels<IMAGE2D<int>,4>(a1285);
          int iy127B#1 = Add<int>(_t0D79,t2128B);
          addr(IMAGE2D<int>) a127E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1286,iy127B);
          real4 v2126F#1 = LoadVoxels<IMAGE2D<int>,4>(a127E);
          int iy1274#1 = Add<int>(_t0D51,t2128B);
          addr(IMAGE2D<int>) a1277#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1286,iy1274);
          real4 v31270#1 = LoadVoxels<IMAGE2D<int>,4>(a1277);
          real fy1298#5 = Index<real2,1>(f1269);
          real t3129D#1 = Add<real>(fy1298,_t0D4D);
          real t1129B#1 = Sub<real>(fy1298,_t0D4D);
          real t0129A#1 = Sub<real>(fy1298,_t0D4F);
          real4 a1299#1 = <real4>[t3129D,fy1298,t1129B,t0129A];
          real4 hy128E#1 = EvalKernel<4,bspln3,0>(a1299);
          real fx128F#5 = Index<real2,0>(f1269);
          real t31294#1 = Add<real>(fx128F,_t0D4D);
          real t11292#1 = Sub<real>(fx128F,_t0D4D);
          real t01291#1 = Sub<real>(fx128F,_t0D4F);
          real4 a1290#1 = <real4>[t31294,fx128F,t11292,t01291];
          real4 hx128D#4 = EvalKernel<4,bspln3,0>(a1290);
          real t012A2#1 = Dot<4>(v0126D,hx128D);
          real t112A3#1 = Dot<4>(v1126E,hx128D);
          real t212A4#1 = Dot<4>(v2126F,hx128D);
          real t312A5#1 = Dot<4>(v31270,hx128D);
          real4 tv12A1#1 = <real4>[t012A2,t112A3,t212A4,t312A5];
          real _t1267#1 = Dot<4>(hy128E,tv12A1);
          real _t12E4#2 = Sub<real>(_t11EA,_t1267);
          real _t12E6#1 = Mul<real>(_t12E4,_t12E4);
          real score12E8#1 = Add<real>(score11D3,_t12E6);
          goto JOIN12EB
        JOIN12EB:  preds = [ASSIGN12E9,COND11E9]
          real score12EA#2 = phi(score12E8,score11D3)
          real _t12EC#1 = Dot<2>(r00D67,v050CE7);
          real _t12EE#1 = Dot<2>(r10D6D,v050CE7);
          real2 _t12F0#1 = <real2>[_t12EC,_t12EE];
          real2 pos12F2#2 = Add<real2>(_t12F0,_t0D7D);
          real2 x12F5#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos12F2);
          bool _t12F4#1 = Inside<IMAGE2D<float>,2>(x12F5,_t0CD1);
          if _t12F4 then goto ASSIGN12FB else goto ASSIGN28D1
        ASSIGN12FB:  preds = [COND12F8]
          real2 x12FA#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v050CE7);
          bool _t12F9#1 = Inside<IMAGE2D<int>,2>(x12FA,_t0CCD);
          goto JOIN12FF
        JOIN12FF:  preds = [ASSIGN12FC,ASSIGN28D1]
          bool _t12FD#1 = phi(_t12F9,_t12FE)
          if _t12FD then goto ASSIGN298E else goto JOIN1402
        ASSIGN298E:  preds = [COND1300]
          real2 nd1304#2 = Floor<2>(x12F5);
          real2 f1303#2 = Sub<real2>(x12F5,nd1304);
          int{2} n1305#8 = RealToInt<2>(nd1304);
          int t11321#4 = -1;
          int t21322#1 = Index<int{2},0>(n1305);
          int ix1320#4 = Add<int>(t11321,t21322);
          int t21325#4 = Index<int{2},1>(n1305);
          int iy1323#1 = Add<int>(t11321,t21325);
          addr(IMAGE2D<float>) a1326#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1320,iy1323);
          real4 v01307#1 = LoadVoxels<IMAGE2D<float>,4>(a1326);
          int iy131C#1 = Add<int>(_t0D75,t21325);
          addr(IMAGE2D<float>) a131F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1320,iy131C);
          real4 v11308#1 = LoadVoxels<IMAGE2D<float>,4>(a131F);
          int iy1315#1 = Add<int>(_t0D79,t21325);
          addr(IMAGE2D<float>) a1318#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1320,iy1315);
          real4 v21309#1 = LoadVoxels<IMAGE2D<float>,4>(a1318);
          int iy130E#1 = Add<int>(_t0D51,t21325);
          addr(IMAGE2D<float>) a1311#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1320,iy130E);
          real4 v3130A#1 = LoadVoxels<IMAGE2D<float>,4>(a1311);
          real fy1332#5 = Index<real2,1>(f1303);
          real t31337#1 = Add<real>(fy1332,_t0D4D);
          real t11335#1 = Sub<real>(fy1332,_t0D4D);
          real t01334#1 = Sub<real>(fy1332,_t0D4F);
          real4 a1333#1 = <real4>[t31337,fy1332,t11335,t01334];
          real4 hy1328#1 = EvalKernel<4,bspln3,0>(a1333);
          real fx1329#5 = Index<real2,0>(f1303);
          real t3132E#1 = Add<real>(fx1329,_t0D4D);
          real t1132C#1 = Sub<real>(fx1329,_t0D4D);
          real t0132B#1 = Sub<real>(fx1329,_t0D4F);
          real4 a132A#1 = <real4>[t3132E,fx1329,t1132C,t0132B];
          real4 hx1327#4 = EvalKernel<4,bspln3,0>(a132A);
          real t0133C#1 = Dot<4>(v01307,hx1327);
          real t1133D#1 = Dot<4>(v11308,hx1327);
          real t2133E#1 = Dot<4>(v21309,hx1327);
          real t3133F#1 = Dot<4>(v3130A,hx1327);
          real4 tv133B#1 = <real4>[t0133C,t1133D,t2133E,t3133F];
          real _t1301#1 = Dot<4>(hy1328,tv133B);
          real2 x137F#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v050CE7);
          real2 nd1381#2 = Floor<2>(x137F);
          real2 f1380#2 = Sub<real2>(x137F,nd1381);
          int{2} n1382#8 = RealToInt<2>(nd1381);
          int t2139F#1 = Index<int{2},0>(n1382);
          int ix139D#4 = Add<int>(t11321,t2139F);
          int t213A2#4 = Index<int{2},1>(n1382);
          int iy13A0#1 = Add<int>(t11321,t213A2);
          addr(IMAGE2D<int>) a13A3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix139D,iy13A0);
          real4 v01384#1 = LoadVoxels<IMAGE2D<int>,4>(a13A3);
          int iy1399#1 = Add<int>(_t0D75,t213A2);
          addr(IMAGE2D<int>) a139C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix139D,iy1399);
          real4 v11385#1 = LoadVoxels<IMAGE2D<int>,4>(a139C);
          int iy1392#1 = Add<int>(_t0D79,t213A2);
          addr(IMAGE2D<int>) a1395#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix139D,iy1392);
          real4 v21386#1 = LoadVoxels<IMAGE2D<int>,4>(a1395);
          int iy138B#1 = Add<int>(_t0D51,t213A2);
          addr(IMAGE2D<int>) a138E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix139D,iy138B);
          real4 v31387#1 = LoadVoxels<IMAGE2D<int>,4>(a138E);
          real fy13AF#5 = Index<real2,1>(f1380);
          real t313B4#1 = Add<real>(fy13AF,_t0D4D);
          real t113B2#1 = Sub<real>(fy13AF,_t0D4D);
          real t013B1#1 = Sub<real>(fy13AF,_t0D4F);
          real4 a13B0#1 = <real4>[t313B4,fy13AF,t113B2,t013B1];
          real4 hy13A5#1 = EvalKernel<4,bspln3,0>(a13B0);
          real fx13A6#5 = Index<real2,0>(f1380);
          real t313AB#1 = Add<real>(fx13A6,_t0D4D);
          real t113A9#1 = Sub<real>(fx13A6,_t0D4D);
          real t013A8#1 = Sub<real>(fx13A6,_t0D4F);
          real4 a13A7#1 = <real4>[t313AB,fx13A6,t113A9,t013A8];
          real4 hx13A4#4 = EvalKernel<4,bspln3,0>(a13A7);
          real t013B9#1 = Dot<4>(v01384,hx13A4);
          real t113BA#1 = Dot<4>(v11385,hx13A4);
          real t213BB#1 = Dot<4>(v21386,hx13A4);
          real t313BC#1 = Dot<4>(v31387,hx13A4);
          real4 tv13B8#1 = <real4>[t013B9,t113BA,t213BB,t313BC];
          real _t137E#1 = Dot<4>(hy13A5,tv13B8);
          real _t13FB#2 = Sub<real>(_t1301,_t137E);
          real _t13FD#1 = Mul<real>(_t13FB,_t13FB);
          real score13FF#1 = Add<real>(score12EA,_t13FD);
          goto JOIN1402
        JOIN1402:  preds = [ASSIGN1400,COND1300]
          real score1401#2 = phi(score13FF,score12EA)
          real _t1403#1 = Dot<2>(r00D67,v060CE9);
          real _t1405#1 = Dot<2>(r10D6D,v060CE9);
          real2 _t1407#1 = <real2>[_t1403,_t1405];
          real2 pos1409#2 = Add<real2>(_t1407,_t0D7D);
          real2 x140C#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1409);
          bool _t140B#1 = Inside<IMAGE2D<float>,2>(x140C,_t0CD1);
          if _t140B then goto ASSIGN1412 else goto ASSIGN28D0
        ASSIGN1412:  preds = [COND140F]
          real2 x1411#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v060CE9);
          bool _t1410#1 = Inside<IMAGE2D<int>,2>(x1411,_t0CCD);
          goto JOIN1416
        JOIN1416:  preds = [ASSIGN1413,ASSIGN28D0]
          bool _t1414#1 = phi(_t1410,_t1415)
          if _t1414 then goto ASSIGN29AF else goto JOIN1519
        ASSIGN29AF:  preds = [COND1417]
          real2 nd141B#2 = Floor<2>(x140C);
          real2 f141A#2 = Sub<real2>(x140C,nd141B);
          int{2} n141C#8 = RealToInt<2>(nd141B);
          int t11438#4 = -1;
          int t21439#1 = Index<int{2},0>(n141C);
          int ix1437#4 = Add<int>(t11438,t21439);
          int t2143C#4 = Index<int{2},1>(n141C);
          int iy143A#1 = Add<int>(t11438,t2143C);
          addr(IMAGE2D<float>) a143D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1437,iy143A);
          real4 v0141E#1 = LoadVoxels<IMAGE2D<float>,4>(a143D);
          int iy1433#1 = Add<int>(_t0D75,t2143C);
          addr(IMAGE2D<float>) a1436#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1437,iy1433);
          real4 v1141F#1 = LoadVoxels<IMAGE2D<float>,4>(a1436);
          int iy142C#1 = Add<int>(_t0D79,t2143C);
          addr(IMAGE2D<float>) a142F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1437,iy142C);
          real4 v21420#1 = LoadVoxels<IMAGE2D<float>,4>(a142F);
          int iy1425#1 = Add<int>(_t0D51,t2143C);
          addr(IMAGE2D<float>) a1428#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1437,iy1425);
          real4 v31421#1 = LoadVoxels<IMAGE2D<float>,4>(a1428);
          real fy1449#5 = Index<real2,1>(f141A);
          real t3144E#1 = Add<real>(fy1449,_t0D4D);
          real t1144C#1 = Sub<real>(fy1449,_t0D4D);
          real t0144B#1 = Sub<real>(fy1449,_t0D4F);
          real4 a144A#1 = <real4>[t3144E,fy1449,t1144C,t0144B];
          real4 hy143F#1 = EvalKernel<4,bspln3,0>(a144A);
          real fx1440#5 = Index<real2,0>(f141A);
          real t31445#1 = Add<real>(fx1440,_t0D4D);
          real t11443#1 = Sub<real>(fx1440,_t0D4D);
          real t01442#1 = Sub<real>(fx1440,_t0D4F);
          real4 a1441#1 = <real4>[t31445,fx1440,t11443,t01442];
          real4 hx143E#4 = EvalKernel<4,bspln3,0>(a1441);
          real t01453#1 = Dot<4>(v0141E,hx143E);
          real t11454#1 = Dot<4>(v1141F,hx143E);
          real t21455#1 = Dot<4>(v21420,hx143E);
          real t31456#1 = Dot<4>(v31421,hx143E);
          real4 tv1452#1 = <real4>[t01453,t11454,t21455,t31456];
          real _t1418#1 = Dot<4>(hy143F,tv1452);
          real2 x1496#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v060CE9);
          real2 nd1498#2 = Floor<2>(x1496);
          real2 f1497#2 = Sub<real2>(x1496,nd1498);
          int{2} n1499#8 = RealToInt<2>(nd1498);
          int t214B6#1 = Index<int{2},0>(n1499);
          int ix14B4#4 = Add<int>(t11438,t214B6);
          int t214B9#4 = Index<int{2},1>(n1499);
          int iy14B7#1 = Add<int>(t11438,t214B9);
          addr(IMAGE2D<int>) a14BA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix14B4,iy14B7);
          real4 v0149B#1 = LoadVoxels<IMAGE2D<int>,4>(a14BA);
          int iy14B0#1 = Add<int>(_t0D75,t214B9);
          addr(IMAGE2D<int>) a14B3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix14B4,iy14B0);
          real4 v1149C#1 = LoadVoxels<IMAGE2D<int>,4>(a14B3);
          int iy14A9#1 = Add<int>(_t0D79,t214B9);
          addr(IMAGE2D<int>) a14AC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix14B4,iy14A9);
          real4 v2149D#1 = LoadVoxels<IMAGE2D<int>,4>(a14AC);
          int iy14A2#1 = Add<int>(_t0D51,t214B9);
          addr(IMAGE2D<int>) a14A5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix14B4,iy14A2);
          real4 v3149E#1 = LoadVoxels<IMAGE2D<int>,4>(a14A5);
          real fy14C6#5 = Index<real2,1>(f1497);
          real t314CB#1 = Add<real>(fy14C6,_t0D4D);
          real t114C9#1 = Sub<real>(fy14C6,_t0D4D);
          real t014C8#1 = Sub<real>(fy14C6,_t0D4F);
          real4 a14C7#1 = <real4>[t314CB,fy14C6,t114C9,t014C8];
          real4 hy14BC#1 = EvalKernel<4,bspln3,0>(a14C7);
          real fx14BD#5 = Index<real2,0>(f1497);
          real t314C2#1 = Add<real>(fx14BD,_t0D4D);
          real t114C0#1 = Sub<real>(fx14BD,_t0D4D);
          real t014BF#1 = Sub<real>(fx14BD,_t0D4F);
          real4 a14BE#1 = <real4>[t314C2,fx14BD,t114C0,t014BF];
          real4 hx14BB#4 = EvalKernel<4,bspln3,0>(a14BE);
          real t014D0#1 = Dot<4>(v0149B,hx14BB);
          real t114D1#1 = Dot<4>(v1149C,hx14BB);
          real t214D2#1 = Dot<4>(v2149D,hx14BB);
          real t314D3#1 = Dot<4>(v3149E,hx14BB);
          real4 tv14CF#1 = <real4>[t014D0,t114D1,t214D2,t314D3];
          real _t1495#1 = Dot<4>(hy14BC,tv14CF);
          real _t1512#2 = Sub<real>(_t1418,_t1495);
          real _t1514#1 = Mul<real>(_t1512,_t1512);
          real score1516#1 = Add<real>(score1401,_t1514);
          goto JOIN1519
        JOIN1519:  preds = [ASSIGN1517,COND1417]
          real score1518#2 = phi(score1516,score1401)
          real _t151A#1 = Dot<2>(r00D67,v070CEB);
          real _t151C#1 = Dot<2>(r10D6D,v070CEB);
          real2 _t151E#1 = <real2>[_t151A,_t151C];
          real2 pos1520#2 = Add<real2>(_t151E,_t0D7D);
          real2 x1523#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1520);
          bool _t1522#1 = Inside<IMAGE2D<float>,2>(x1523,_t0CD1);
          if _t1522 then goto ASSIGN1529 else goto ASSIGN28CF
        ASSIGN1529:  preds = [COND1526]
          real2 x1528#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v070CEB);
          bool _t1527#1 = Inside<IMAGE2D<int>,2>(x1528,_t0CCD);
          goto JOIN152D
        JOIN152D:  preds = [ASSIGN152A,ASSIGN28CF]
          bool _t152B#1 = phi(_t1527,_t152C)
          if _t152B then goto ASSIGN29D0 else goto JOIN1630
        ASSIGN29D0:  preds = [COND152E]
          real2 nd1532#2 = Floor<2>(x1523);
          real2 f1531#2 = Sub<real2>(x1523,nd1532);
          int{2} n1533#8 = RealToInt<2>(nd1532);
          int t1154F#4 = -1;
          int t21550#1 = Index<int{2},0>(n1533);
          int ix154E#4 = Add<int>(t1154F,t21550);
          int t21553#4 = Index<int{2},1>(n1533);
          int iy1551#1 = Add<int>(t1154F,t21553);
          addr(IMAGE2D<float>) a1554#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix154E,iy1551);
          real4 v01535#1 = LoadVoxels<IMAGE2D<float>,4>(a1554);
          int iy154A#1 = Add<int>(_t0D75,t21553);
          addr(IMAGE2D<float>) a154D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix154E,iy154A);
          real4 v11536#1 = LoadVoxels<IMAGE2D<float>,4>(a154D);
          int iy1543#1 = Add<int>(_t0D79,t21553);
          addr(IMAGE2D<float>) a1546#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix154E,iy1543);
          real4 v21537#1 = LoadVoxels<IMAGE2D<float>,4>(a1546);
          int iy153C#1 = Add<int>(_t0D51,t21553);
          addr(IMAGE2D<float>) a153F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix154E,iy153C);
          real4 v31538#1 = LoadVoxels<IMAGE2D<float>,4>(a153F);
          real fy1560#5 = Index<real2,1>(f1531);
          real t31565#1 = Add<real>(fy1560,_t0D4D);
          real t11563#1 = Sub<real>(fy1560,_t0D4D);
          real t01562#1 = Sub<real>(fy1560,_t0D4F);
          real4 a1561#1 = <real4>[t31565,fy1560,t11563,t01562];
          real4 hy1556#1 = EvalKernel<4,bspln3,0>(a1561);
          real fx1557#5 = Index<real2,0>(f1531);
          real t3155C#1 = Add<real>(fx1557,_t0D4D);
          real t1155A#1 = Sub<real>(fx1557,_t0D4D);
          real t01559#1 = Sub<real>(fx1557,_t0D4F);
          real4 a1558#1 = <real4>[t3155C,fx1557,t1155A,t01559];
          real4 hx1555#4 = EvalKernel<4,bspln3,0>(a1558);
          real t0156A#1 = Dot<4>(v01535,hx1555);
          real t1156B#1 = Dot<4>(v11536,hx1555);
          real t2156C#1 = Dot<4>(v21537,hx1555);
          real t3156D#1 = Dot<4>(v31538,hx1555);
          real4 tv1569#1 = <real4>[t0156A,t1156B,t2156C,t3156D];
          real _t152F#1 = Dot<4>(hy1556,tv1569);
          real2 x15AD#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v070CEB);
          real2 nd15AF#2 = Floor<2>(x15AD);
          real2 f15AE#2 = Sub<real2>(x15AD,nd15AF);
          int{2} n15B0#8 = RealToInt<2>(nd15AF);
          int t215CD#1 = Index<int{2},0>(n15B0);
          int ix15CB#4 = Add<int>(t1154F,t215CD);
          int t215D0#4 = Index<int{2},1>(n15B0);
          int iy15CE#1 = Add<int>(t1154F,t215D0);
          addr(IMAGE2D<int>) a15D1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix15CB,iy15CE);
          real4 v015B2#1 = LoadVoxels<IMAGE2D<int>,4>(a15D1);
          int iy15C7#1 = Add<int>(_t0D75,t215D0);
          addr(IMAGE2D<int>) a15CA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix15CB,iy15C7);
          real4 v115B3#1 = LoadVoxels<IMAGE2D<int>,4>(a15CA);
          int iy15C0#1 = Add<int>(_t0D79,t215D0);
          addr(IMAGE2D<int>) a15C3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix15CB,iy15C0);
          real4 v215B4#1 = LoadVoxels<IMAGE2D<int>,4>(a15C3);
          int iy15B9#1 = Add<int>(_t0D51,t215D0);
          addr(IMAGE2D<int>) a15BC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix15CB,iy15B9);
          real4 v315B5#1 = LoadVoxels<IMAGE2D<int>,4>(a15BC);
          real fy15DD#5 = Index<real2,1>(f15AE);
          real t315E2#1 = Add<real>(fy15DD,_t0D4D);
          real t115E0#1 = Sub<real>(fy15DD,_t0D4D);
          real t015DF#1 = Sub<real>(fy15DD,_t0D4F);
          real4 a15DE#1 = <real4>[t315E2,fy15DD,t115E0,t015DF];
          real4 hy15D3#1 = EvalKernel<4,bspln3,0>(a15DE);
          real fx15D4#5 = Index<real2,0>(f15AE);
          real t315D9#1 = Add<real>(fx15D4,_t0D4D);
          real t115D7#1 = Sub<real>(fx15D4,_t0D4D);
          real t015D6#1 = Sub<real>(fx15D4,_t0D4F);
          real4 a15D5#1 = <real4>[t315D9,fx15D4,t115D7,t015D6];
          real4 hx15D2#4 = EvalKernel<4,bspln3,0>(a15D5);
          real t015E7#1 = Dot<4>(v015B2,hx15D2);
          real t115E8#1 = Dot<4>(v115B3,hx15D2);
          real t215E9#1 = Dot<4>(v215B4,hx15D2);
          real t315EA#1 = Dot<4>(v315B5,hx15D2);
          real4 tv15E6#1 = <real4>[t015E7,t115E8,t215E9,t315EA];
          real _t15AC#1 = Dot<4>(hy15D3,tv15E6);
          real _t1629#2 = Sub<real>(_t152F,_t15AC);
          real _t162B#1 = Mul<real>(_t1629,_t1629);
          real score162D#1 = Add<real>(score1518,_t162B);
          goto JOIN1630
        JOIN1630:  preds = [ASSIGN162E,COND152E]
          real score162F#2 = phi(score162D,score1518)
          real _t1631#1 = Dot<2>(r00D67,v080CED);
          real _t1633#1 = Dot<2>(r10D6D,v080CED);
          real2 _t1635#1 = <real2>[_t1631,_t1633];
          real2 pos1637#2 = Add<real2>(_t1635,_t0D7D);
          real2 x163A#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1637);
          bool _t1639#1 = Inside<IMAGE2D<float>,2>(x163A,_t0CD1);
          if _t1639 then goto ASSIGN1640 else goto ASSIGN28CE
        ASSIGN1640:  preds = [COND163D]
          real2 x163F#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v080CED);
          bool _t163E#1 = Inside<IMAGE2D<int>,2>(x163F,_t0CCD);
          goto JOIN1644
        JOIN1644:  preds = [ASSIGN1641,ASSIGN28CE]
          bool _t1642#1 = phi(_t163E,_t1643)
          if _t1642 then goto ASSIGN29F1 else goto JOIN1747
        ASSIGN29F1:  preds = [COND1645]
          real2 nd1649#2 = Floor<2>(x163A);
          real2 f1648#2 = Sub<real2>(x163A,nd1649);
          int{2} n164A#8 = RealToInt<2>(nd1649);
          int t11666#4 = -1;
          int t21667#1 = Index<int{2},0>(n164A);
          int ix1665#4 = Add<int>(t11666,t21667);
          int t2166A#4 = Index<int{2},1>(n164A);
          int iy1668#1 = Add<int>(t11666,t2166A);
          addr(IMAGE2D<float>) a166B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1665,iy1668);
          real4 v0164C#1 = LoadVoxels<IMAGE2D<float>,4>(a166B);
          int iy1661#1 = Add<int>(_t0D75,t2166A);
          addr(IMAGE2D<float>) a1664#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1665,iy1661);
          real4 v1164D#1 = LoadVoxels<IMAGE2D<float>,4>(a1664);
          int iy165A#1 = Add<int>(_t0D79,t2166A);
          addr(IMAGE2D<float>) a165D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1665,iy165A);
          real4 v2164E#1 = LoadVoxels<IMAGE2D<float>,4>(a165D);
          int iy1653#1 = Add<int>(_t0D51,t2166A);
          addr(IMAGE2D<float>) a1656#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1665,iy1653);
          real4 v3164F#1 = LoadVoxels<IMAGE2D<float>,4>(a1656);
          real fy1677#5 = Index<real2,1>(f1648);
          real t3167C#1 = Add<real>(fy1677,_t0D4D);
          real t1167A#1 = Sub<real>(fy1677,_t0D4D);
          real t01679#1 = Sub<real>(fy1677,_t0D4F);
          real4 a1678#1 = <real4>[t3167C,fy1677,t1167A,t01679];
          real4 hy166D#1 = EvalKernel<4,bspln3,0>(a1678);
          real fx166E#5 = Index<real2,0>(f1648);
          real t31673#1 = Add<real>(fx166E,_t0D4D);
          real t11671#1 = Sub<real>(fx166E,_t0D4D);
          real t01670#1 = Sub<real>(fx166E,_t0D4F);
          real4 a166F#1 = <real4>[t31673,fx166E,t11671,t01670];
          real4 hx166C#4 = EvalKernel<4,bspln3,0>(a166F);
          real t01681#1 = Dot<4>(v0164C,hx166C);
          real t11682#1 = Dot<4>(v1164D,hx166C);
          real t21683#1 = Dot<4>(v2164E,hx166C);
          real t31684#1 = Dot<4>(v3164F,hx166C);
          real4 tv1680#1 = <real4>[t01681,t11682,t21683,t31684];
          real _t1646#1 = Dot<4>(hy166D,tv1680);
          real2 x16C4#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v080CED);
          real2 nd16C6#2 = Floor<2>(x16C4);
          real2 f16C5#2 = Sub<real2>(x16C4,nd16C6);
          int{2} n16C7#8 = RealToInt<2>(nd16C6);
          int t216E4#1 = Index<int{2},0>(n16C7);
          int ix16E2#4 = Add<int>(t11666,t216E4);
          int t216E7#4 = Index<int{2},1>(n16C7);
          int iy16E5#1 = Add<int>(t11666,t216E7);
          addr(IMAGE2D<int>) a16E8#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix16E2,iy16E5);
          real4 v016C9#1 = LoadVoxels<IMAGE2D<int>,4>(a16E8);
          int iy16DE#1 = Add<int>(_t0D75,t216E7);
          addr(IMAGE2D<int>) a16E1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix16E2,iy16DE);
          real4 v116CA#1 = LoadVoxels<IMAGE2D<int>,4>(a16E1);
          int iy16D7#1 = Add<int>(_t0D79,t216E7);
          addr(IMAGE2D<int>) a16DA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix16E2,iy16D7);
          real4 v216CB#1 = LoadVoxels<IMAGE2D<int>,4>(a16DA);
          int iy16D0#1 = Add<int>(_t0D51,t216E7);
          addr(IMAGE2D<int>) a16D3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix16E2,iy16D0);
          real4 v316CC#1 = LoadVoxels<IMAGE2D<int>,4>(a16D3);
          real fy16F4#5 = Index<real2,1>(f16C5);
          real t316F9#1 = Add<real>(fy16F4,_t0D4D);
          real t116F7#1 = Sub<real>(fy16F4,_t0D4D);
          real t016F6#1 = Sub<real>(fy16F4,_t0D4F);
          real4 a16F5#1 = <real4>[t316F9,fy16F4,t116F7,t016F6];
          real4 hy16EA#1 = EvalKernel<4,bspln3,0>(a16F5);
          real fx16EB#5 = Index<real2,0>(f16C5);
          real t316F0#1 = Add<real>(fx16EB,_t0D4D);
          real t116EE#1 = Sub<real>(fx16EB,_t0D4D);
          real t016ED#1 = Sub<real>(fx16EB,_t0D4F);
          real4 a16EC#1 = <real4>[t316F0,fx16EB,t116EE,t016ED];
          real4 hx16E9#4 = EvalKernel<4,bspln3,0>(a16EC);
          real t016FE#1 = Dot<4>(v016C9,hx16E9);
          real t116FF#1 = Dot<4>(v116CA,hx16E9);
          real t21700#1 = Dot<4>(v216CB,hx16E9);
          real t31701#1 = Dot<4>(v316CC,hx16E9);
          real4 tv16FD#1 = <real4>[t016FE,t116FF,t21700,t31701];
          real _t16C3#1 = Dot<4>(hy16EA,tv16FD);
          real _t1740#2 = Sub<real>(_t1646,_t16C3);
          real _t1742#1 = Mul<real>(_t1740,_t1740);
          real score1744#1 = Add<real>(score162F,_t1742);
          goto JOIN1747
        JOIN1747:  preds = [ASSIGN1745,COND1645]
          real score1746#2 = phi(score1744,score162F)
          real _t1748#1 = Dot<2>(r00D67,v090CEF);
          real _t174A#1 = Dot<2>(r10D6D,v090CEF);
          real2 _t174C#1 = <real2>[_t1748,_t174A];
          real2 pos174E#2 = Add<real2>(_t174C,_t0D7D);
          real2 x1751#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos174E);
          bool _t1750#1 = Inside<IMAGE2D<float>,2>(x1751,_t0CD1);
          if _t1750 then goto ASSIGN1757 else goto ASSIGN28CD
        ASSIGN1757:  preds = [COND1754]
          real2 x1756#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v090CEF);
          bool _t1755#1 = Inside<IMAGE2D<int>,2>(x1756,_t0CCD);
          goto JOIN175B
        JOIN175B:  preds = [ASSIGN1758,ASSIGN28CD]
          bool _t1759#1 = phi(_t1755,_t175A)
          if _t1759 then goto ASSIGN2A12 else goto JOIN185E
        ASSIGN2A12:  preds = [COND175C]
          real2 nd1760#2 = Floor<2>(x1751);
          real2 f175F#2 = Sub<real2>(x1751,nd1760);
          int{2} n1761#8 = RealToInt<2>(nd1760);
          int t1177D#4 = -1;
          int t2177E#1 = Index<int{2},0>(n1761);
          int ix177C#4 = Add<int>(t1177D,t2177E);
          int t21781#4 = Index<int{2},1>(n1761);
          int iy177F#1 = Add<int>(t1177D,t21781);
          addr(IMAGE2D<float>) a1782#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix177C,iy177F);
          real4 v01763#1 = LoadVoxels<IMAGE2D<float>,4>(a1782);
          int iy1778#1 = Add<int>(_t0D75,t21781);
          addr(IMAGE2D<float>) a177B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix177C,iy1778);
          real4 v11764#1 = LoadVoxels<IMAGE2D<float>,4>(a177B);
          int iy1771#1 = Add<int>(_t0D79,t21781);
          addr(IMAGE2D<float>) a1774#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix177C,iy1771);
          real4 v21765#1 = LoadVoxels<IMAGE2D<float>,4>(a1774);
          int iy176A#1 = Add<int>(_t0D51,t21781);
          addr(IMAGE2D<float>) a176D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix177C,iy176A);
          real4 v31766#1 = LoadVoxels<IMAGE2D<float>,4>(a176D);
          real fy178E#5 = Index<real2,1>(f175F);
          real t31793#1 = Add<real>(fy178E,_t0D4D);
          real t11791#1 = Sub<real>(fy178E,_t0D4D);
          real t01790#1 = Sub<real>(fy178E,_t0D4F);
          real4 a178F#1 = <real4>[t31793,fy178E,t11791,t01790];
          real4 hy1784#1 = EvalKernel<4,bspln3,0>(a178F);
          real fx1785#5 = Index<real2,0>(f175F);
          real t3178A#1 = Add<real>(fx1785,_t0D4D);
          real t11788#1 = Sub<real>(fx1785,_t0D4D);
          real t01787#1 = Sub<real>(fx1785,_t0D4F);
          real4 a1786#1 = <real4>[t3178A,fx1785,t11788,t01787];
          real4 hx1783#4 = EvalKernel<4,bspln3,0>(a1786);
          real t01798#1 = Dot<4>(v01763,hx1783);
          real t11799#1 = Dot<4>(v11764,hx1783);
          real t2179A#1 = Dot<4>(v21765,hx1783);
          real t3179B#1 = Dot<4>(v31766,hx1783);
          real4 tv1797#1 = <real4>[t01798,t11799,t2179A,t3179B];
          real _t175D#1 = Dot<4>(hy1784,tv1797);
          real2 x17DB#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v090CEF);
          real2 nd17DD#2 = Floor<2>(x17DB);
          real2 f17DC#2 = Sub<real2>(x17DB,nd17DD);
          int{2} n17DE#8 = RealToInt<2>(nd17DD);
          int t217FB#1 = Index<int{2},0>(n17DE);
          int ix17F9#4 = Add<int>(t1177D,t217FB);
          int t217FE#4 = Index<int{2},1>(n17DE);
          int iy17FC#1 = Add<int>(t1177D,t217FE);
          addr(IMAGE2D<int>) a17FF#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix17F9,iy17FC);
          real4 v017E0#1 = LoadVoxels<IMAGE2D<int>,4>(a17FF);
          int iy17F5#1 = Add<int>(_t0D75,t217FE);
          addr(IMAGE2D<int>) a17F8#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix17F9,iy17F5);
          real4 v117E1#1 = LoadVoxels<IMAGE2D<int>,4>(a17F8);
          int iy17EE#1 = Add<int>(_t0D79,t217FE);
          addr(IMAGE2D<int>) a17F1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix17F9,iy17EE);
          real4 v217E2#1 = LoadVoxels<IMAGE2D<int>,4>(a17F1);
          int iy17E7#1 = Add<int>(_t0D51,t217FE);
          addr(IMAGE2D<int>) a17EA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix17F9,iy17E7);
          real4 v317E3#1 = LoadVoxels<IMAGE2D<int>,4>(a17EA);
          real fy180B#5 = Index<real2,1>(f17DC);
          real t31810#1 = Add<real>(fy180B,_t0D4D);
          real t1180E#1 = Sub<real>(fy180B,_t0D4D);
          real t0180D#1 = Sub<real>(fy180B,_t0D4F);
          real4 a180C#1 = <real4>[t31810,fy180B,t1180E,t0180D];
          real4 hy1801#1 = EvalKernel<4,bspln3,0>(a180C);
          real fx1802#5 = Index<real2,0>(f17DC);
          real t31807#1 = Add<real>(fx1802,_t0D4D);
          real t11805#1 = Sub<real>(fx1802,_t0D4D);
          real t01804#1 = Sub<real>(fx1802,_t0D4F);
          real4 a1803#1 = <real4>[t31807,fx1802,t11805,t01804];
          real4 hx1800#4 = EvalKernel<4,bspln3,0>(a1803);
          real t01815#1 = Dot<4>(v017E0,hx1800);
          real t11816#1 = Dot<4>(v117E1,hx1800);
          real t21817#1 = Dot<4>(v217E2,hx1800);
          real t31818#1 = Dot<4>(v317E3,hx1800);
          real4 tv1814#1 = <real4>[t01815,t11816,t21817,t31818];
          real _t17DA#1 = Dot<4>(hy1801,tv1814);
          real _t1857#2 = Sub<real>(_t175D,_t17DA);
          real _t1859#1 = Mul<real>(_t1857,_t1857);
          real score185B#1 = Add<real>(score1746,_t1859);
          goto JOIN185E
        JOIN185E:  preds = [ASSIGN185C,COND175C]
          real score185D#2 = phi(score185B,score1746)
          real _t185F#1 = Dot<2>(r00D67,v100CF1);
          real _t1861#1 = Dot<2>(r10D6D,v100CF1);
          real2 _t1863#1 = <real2>[_t185F,_t1861];
          real2 pos1865#2 = Add<real2>(_t1863,_t0D7D);
          real2 x1868#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1865);
          bool _t1867#1 = Inside<IMAGE2D<float>,2>(x1868,_t0CD1);
          if _t1867 then goto ASSIGN186E else goto ASSIGN28CC
        ASSIGN186E:  preds = [COND186B]
          real2 x186D#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v100CF1);
          bool _t186C#1 = Inside<IMAGE2D<int>,2>(x186D,_t0CCD);
          goto JOIN1872
        JOIN1872:  preds = [ASSIGN186F,ASSIGN28CC]
          bool _t1870#1 = phi(_t186C,_t1871)
          if _t1870 then goto ASSIGN2A33 else goto JOIN1975
        ASSIGN2A33:  preds = [COND1873]
          real2 nd1877#2 = Floor<2>(x1868);
          real2 f1876#2 = Sub<real2>(x1868,nd1877);
          int{2} n1878#8 = RealToInt<2>(nd1877);
          int t11894#4 = -1;
          int t21895#1 = Index<int{2},0>(n1878);
          int ix1893#4 = Add<int>(t11894,t21895);
          int t21898#4 = Index<int{2},1>(n1878);
          int iy1896#1 = Add<int>(t11894,t21898);
          addr(IMAGE2D<float>) a1899#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1893,iy1896);
          real4 v0187A#1 = LoadVoxels<IMAGE2D<float>,4>(a1899);
          int iy188F#1 = Add<int>(_t0D75,t21898);
          addr(IMAGE2D<float>) a1892#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1893,iy188F);
          real4 v1187B#1 = LoadVoxels<IMAGE2D<float>,4>(a1892);
          int iy1888#1 = Add<int>(_t0D79,t21898);
          addr(IMAGE2D<float>) a188B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1893,iy1888);
          real4 v2187C#1 = LoadVoxels<IMAGE2D<float>,4>(a188B);
          int iy1881#1 = Add<int>(_t0D51,t21898);
          addr(IMAGE2D<float>) a1884#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1893,iy1881);
          real4 v3187D#1 = LoadVoxels<IMAGE2D<float>,4>(a1884);
          real fy18A5#5 = Index<real2,1>(f1876);
          real t318AA#1 = Add<real>(fy18A5,_t0D4D);
          real t118A8#1 = Sub<real>(fy18A5,_t0D4D);
          real t018A7#1 = Sub<real>(fy18A5,_t0D4F);
          real4 a18A6#1 = <real4>[t318AA,fy18A5,t118A8,t018A7];
          real4 hy189B#1 = EvalKernel<4,bspln3,0>(a18A6);
          real fx189C#5 = Index<real2,0>(f1876);
          real t318A1#1 = Add<real>(fx189C,_t0D4D);
          real t1189F#1 = Sub<real>(fx189C,_t0D4D);
          real t0189E#1 = Sub<real>(fx189C,_t0D4F);
          real4 a189D#1 = <real4>[t318A1,fx189C,t1189F,t0189E];
          real4 hx189A#4 = EvalKernel<4,bspln3,0>(a189D);
          real t018AF#1 = Dot<4>(v0187A,hx189A);
          real t118B0#1 = Dot<4>(v1187B,hx189A);
          real t218B1#1 = Dot<4>(v2187C,hx189A);
          real t318B2#1 = Dot<4>(v3187D,hx189A);
          real4 tv18AE#1 = <real4>[t018AF,t118B0,t218B1,t318B2];
          real _t1874#1 = Dot<4>(hy189B,tv18AE);
          real2 x18F2#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v100CF1);
          real2 nd18F4#2 = Floor<2>(x18F2);
          real2 f18F3#2 = Sub<real2>(x18F2,nd18F4);
          int{2} n18F5#8 = RealToInt<2>(nd18F4);
          int t21912#1 = Index<int{2},0>(n18F5);
          int ix1910#4 = Add<int>(t11894,t21912);
          int t21915#4 = Index<int{2},1>(n18F5);
          int iy1913#1 = Add<int>(t11894,t21915);
          addr(IMAGE2D<int>) a1916#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1910,iy1913);
          real4 v018F7#1 = LoadVoxels<IMAGE2D<int>,4>(a1916);
          int iy190C#1 = Add<int>(_t0D75,t21915);
          addr(IMAGE2D<int>) a190F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1910,iy190C);
          real4 v118F8#1 = LoadVoxels<IMAGE2D<int>,4>(a190F);
          int iy1905#1 = Add<int>(_t0D79,t21915);
          addr(IMAGE2D<int>) a1908#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1910,iy1905);
          real4 v218F9#1 = LoadVoxels<IMAGE2D<int>,4>(a1908);
          int iy18FE#1 = Add<int>(_t0D51,t21915);
          addr(IMAGE2D<int>) a1901#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1910,iy18FE);
          real4 v318FA#1 = LoadVoxels<IMAGE2D<int>,4>(a1901);
          real fy1922#5 = Index<real2,1>(f18F3);
          real t31927#1 = Add<real>(fy1922,_t0D4D);
          real t11925#1 = Sub<real>(fy1922,_t0D4D);
          real t01924#1 = Sub<real>(fy1922,_t0D4F);
          real4 a1923#1 = <real4>[t31927,fy1922,t11925,t01924];
          real4 hy1918#1 = EvalKernel<4,bspln3,0>(a1923);
          real fx1919#5 = Index<real2,0>(f18F3);
          real t3191E#1 = Add<real>(fx1919,_t0D4D);
          real t1191C#1 = Sub<real>(fx1919,_t0D4D);
          real t0191B#1 = Sub<real>(fx1919,_t0D4F);
          real4 a191A#1 = <real4>[t3191E,fx1919,t1191C,t0191B];
          real4 hx1917#4 = EvalKernel<4,bspln3,0>(a191A);
          real t0192C#1 = Dot<4>(v018F7,hx1917);
          real t1192D#1 = Dot<4>(v118F8,hx1917);
          real t2192E#1 = Dot<4>(v218F9,hx1917);
          real t3192F#1 = Dot<4>(v318FA,hx1917);
          real4 tv192B#1 = <real4>[t0192C,t1192D,t2192E,t3192F];
          real _t18F1#1 = Dot<4>(hy1918,tv192B);
          real _t196E#2 = Sub<real>(_t1874,_t18F1);
          real _t1970#1 = Mul<real>(_t196E,_t196E);
          real score1972#1 = Add<real>(score185D,_t1970);
          goto JOIN1975
        JOIN1975:  preds = [ASSIGN1973,COND1873]
          real score1974#2 = phi(score1972,score185D)
          real _t1976#1 = Dot<2>(r00D67,v110CF3);
          real _t1978#1 = Dot<2>(r10D6D,v110CF3);
          real2 _t197A#1 = <real2>[_t1976,_t1978];
          real2 pos197C#2 = Add<real2>(_t197A,_t0D7D);
          real2 x197F#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos197C);
          bool _t197E#1 = Inside<IMAGE2D<float>,2>(x197F,_t0CD1);
          if _t197E then goto ASSIGN1985 else goto ASSIGN28CB
        ASSIGN1985:  preds = [COND1982]
          real2 x1984#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v110CF3);
          bool _t1983#1 = Inside<IMAGE2D<int>,2>(x1984,_t0CCD);
          goto JOIN1989
        JOIN1989:  preds = [ASSIGN1986,ASSIGN28CB]
          bool _t1987#1 = phi(_t1983,_t1988)
          if _t1987 then goto ASSIGN2A54 else goto JOIN1A8C
        ASSIGN2A54:  preds = [COND198A]
          real2 nd198E#2 = Floor<2>(x197F);
          real2 f198D#2 = Sub<real2>(x197F,nd198E);
          int{2} n198F#8 = RealToInt<2>(nd198E);
          int t119AB#4 = -1;
          int t219AC#1 = Index<int{2},0>(n198F);
          int ix19AA#4 = Add<int>(t119AB,t219AC);
          int t219AF#4 = Index<int{2},1>(n198F);
          int iy19AD#1 = Add<int>(t119AB,t219AF);
          addr(IMAGE2D<float>) a19B0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix19AA,iy19AD);
          real4 v01991#1 = LoadVoxels<IMAGE2D<float>,4>(a19B0);
          int iy19A6#1 = Add<int>(_t0D75,t219AF);
          addr(IMAGE2D<float>) a19A9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix19AA,iy19A6);
          real4 v11992#1 = LoadVoxels<IMAGE2D<float>,4>(a19A9);
          int iy199F#1 = Add<int>(_t0D79,t219AF);
          addr(IMAGE2D<float>) a19A2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix19AA,iy199F);
          real4 v21993#1 = LoadVoxels<IMAGE2D<float>,4>(a19A2);
          int iy1998#1 = Add<int>(_t0D51,t219AF);
          addr(IMAGE2D<float>) a199B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix19AA,iy1998);
          real4 v31994#1 = LoadVoxels<IMAGE2D<float>,4>(a199B);
          real fy19BC#5 = Index<real2,1>(f198D);
          real t319C1#1 = Add<real>(fy19BC,_t0D4D);
          real t119BF#1 = Sub<real>(fy19BC,_t0D4D);
          real t019BE#1 = Sub<real>(fy19BC,_t0D4F);
          real4 a19BD#1 = <real4>[t319C1,fy19BC,t119BF,t019BE];
          real4 hy19B2#1 = EvalKernel<4,bspln3,0>(a19BD);
          real fx19B3#5 = Index<real2,0>(f198D);
          real t319B8#1 = Add<real>(fx19B3,_t0D4D);
          real t119B6#1 = Sub<real>(fx19B3,_t0D4D);
          real t019B5#1 = Sub<real>(fx19B3,_t0D4F);
          real4 a19B4#1 = <real4>[t319B8,fx19B3,t119B6,t019B5];
          real4 hx19B1#4 = EvalKernel<4,bspln3,0>(a19B4);
          real t019C6#1 = Dot<4>(v01991,hx19B1);
          real t119C7#1 = Dot<4>(v11992,hx19B1);
          real t219C8#1 = Dot<4>(v21993,hx19B1);
          real t319C9#1 = Dot<4>(v31994,hx19B1);
          real4 tv19C5#1 = <real4>[t019C6,t119C7,t219C8,t319C9];
          real _t198B#1 = Dot<4>(hy19B2,tv19C5);
          real2 x1A09#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v110CF3);
          real2 nd1A0B#2 = Floor<2>(x1A09);
          real2 f1A0A#2 = Sub<real2>(x1A09,nd1A0B);
          int{2} n1A0C#8 = RealToInt<2>(nd1A0B);
          int t21A29#1 = Index<int{2},0>(n1A0C);
          int ix1A27#4 = Add<int>(t119AB,t21A29);
          int t21A2C#4 = Index<int{2},1>(n1A0C);
          int iy1A2A#1 = Add<int>(t119AB,t21A2C);
          addr(IMAGE2D<int>) a1A2D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1A27,iy1A2A);
          real4 v01A0E#1 = LoadVoxels<IMAGE2D<int>,4>(a1A2D);
          int iy1A23#1 = Add<int>(_t0D75,t21A2C);
          addr(IMAGE2D<int>) a1A26#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1A27,iy1A23);
          real4 v11A0F#1 = LoadVoxels<IMAGE2D<int>,4>(a1A26);
          int iy1A1C#1 = Add<int>(_t0D79,t21A2C);
          addr(IMAGE2D<int>) a1A1F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1A27,iy1A1C);
          real4 v21A10#1 = LoadVoxels<IMAGE2D<int>,4>(a1A1F);
          int iy1A15#1 = Add<int>(_t0D51,t21A2C);
          addr(IMAGE2D<int>) a1A18#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1A27,iy1A15);
          real4 v31A11#1 = LoadVoxels<IMAGE2D<int>,4>(a1A18);
          real fy1A39#5 = Index<real2,1>(f1A0A);
          real t31A3E#1 = Add<real>(fy1A39,_t0D4D);
          real t11A3C#1 = Sub<real>(fy1A39,_t0D4D);
          real t01A3B#1 = Sub<real>(fy1A39,_t0D4F);
          real4 a1A3A#1 = <real4>[t31A3E,fy1A39,t11A3C,t01A3B];
          real4 hy1A2F#1 = EvalKernel<4,bspln3,0>(a1A3A);
          real fx1A30#5 = Index<real2,0>(f1A0A);
          real t31A35#1 = Add<real>(fx1A30,_t0D4D);
          real t11A33#1 = Sub<real>(fx1A30,_t0D4D);
          real t01A32#1 = Sub<real>(fx1A30,_t0D4F);
          real4 a1A31#1 = <real4>[t31A35,fx1A30,t11A33,t01A32];
          real4 hx1A2E#4 = EvalKernel<4,bspln3,0>(a1A31);
          real t01A43#1 = Dot<4>(v01A0E,hx1A2E);
          real t11A44#1 = Dot<4>(v11A0F,hx1A2E);
          real t21A45#1 = Dot<4>(v21A10,hx1A2E);
          real t31A46#1 = Dot<4>(v31A11,hx1A2E);
          real4 tv1A42#1 = <real4>[t01A43,t11A44,t21A45,t31A46];
          real _t1A08#1 = Dot<4>(hy1A2F,tv1A42);
          real _t1A85#2 = Sub<real>(_t198B,_t1A08);
          real _t1A87#1 = Mul<real>(_t1A85,_t1A85);
          real score1A89#1 = Add<real>(score1974,_t1A87);
          goto JOIN1A8C
        JOIN1A8C:  preds = [ASSIGN1A8A,COND198A]
          real score1A8B#2 = phi(score1A89,score1974)
          real _t1A8D#1 = Dot<2>(r00D67,v120CF5);
          real _t1A8F#1 = Dot<2>(r10D6D,v120CF5);
          real2 _t1A91#1 = <real2>[_t1A8D,_t1A8F];
          real2 pos1A93#2 = Add<real2>(_t1A91,_t0D7D);
          real2 x1A96#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1A93);
          bool _t1A95#1 = Inside<IMAGE2D<float>,2>(x1A96,_t0CD1);
          if _t1A95 then goto ASSIGN1A9C else goto ASSIGN28CA
        ASSIGN1A9C:  preds = [COND1A99]
          real2 x1A9B#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v120CF5);
          bool _t1A9A#1 = Inside<IMAGE2D<int>,2>(x1A9B,_t0CCD);
          goto JOIN1AA0
        JOIN1AA0:  preds = [ASSIGN1A9D,ASSIGN28CA]
          bool _t1A9E#1 = phi(_t1A9A,_t1A9F)
          if _t1A9E then goto ASSIGN2A75 else goto JOIN1BA3
        ASSIGN2A75:  preds = [COND1AA1]
          real2 nd1AA5#2 = Floor<2>(x1A96);
          real2 f1AA4#2 = Sub<real2>(x1A96,nd1AA5);
          int{2} n1AA6#8 = RealToInt<2>(nd1AA5);
          int t11AC2#4 = -1;
          int t21AC3#1 = Index<int{2},0>(n1AA6);
          int ix1AC1#4 = Add<int>(t11AC2,t21AC3);
          int t21AC6#4 = Index<int{2},1>(n1AA6);
          int iy1AC4#1 = Add<int>(t11AC2,t21AC6);
          addr(IMAGE2D<float>) a1AC7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1AC1,iy1AC4);
          real4 v01AA8#1 = LoadVoxels<IMAGE2D<float>,4>(a1AC7);
          int iy1ABD#1 = Add<int>(_t0D75,t21AC6);
          addr(IMAGE2D<float>) a1AC0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1AC1,iy1ABD);
          real4 v11AA9#1 = LoadVoxels<IMAGE2D<float>,4>(a1AC0);
          int iy1AB6#1 = Add<int>(_t0D79,t21AC6);
          addr(IMAGE2D<float>) a1AB9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1AC1,iy1AB6);
          real4 v21AAA#1 = LoadVoxels<IMAGE2D<float>,4>(a1AB9);
          int iy1AAF#1 = Add<int>(_t0D51,t21AC6);
          addr(IMAGE2D<float>) a1AB2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1AC1,iy1AAF);
          real4 v31AAB#1 = LoadVoxels<IMAGE2D<float>,4>(a1AB2);
          real fy1AD3#5 = Index<real2,1>(f1AA4);
          real t31AD8#1 = Add<real>(fy1AD3,_t0D4D);
          real t11AD6#1 = Sub<real>(fy1AD3,_t0D4D);
          real t01AD5#1 = Sub<real>(fy1AD3,_t0D4F);
          real4 a1AD4#1 = <real4>[t31AD8,fy1AD3,t11AD6,t01AD5];
          real4 hy1AC9#1 = EvalKernel<4,bspln3,0>(a1AD4);
          real fx1ACA#5 = Index<real2,0>(f1AA4);
          real t31ACF#1 = Add<real>(fx1ACA,_t0D4D);
          real t11ACD#1 = Sub<real>(fx1ACA,_t0D4D);
          real t01ACC#1 = Sub<real>(fx1ACA,_t0D4F);
          real4 a1ACB#1 = <real4>[t31ACF,fx1ACA,t11ACD,t01ACC];
          real4 hx1AC8#4 = EvalKernel<4,bspln3,0>(a1ACB);
          real t01ADD#1 = Dot<4>(v01AA8,hx1AC8);
          real t11ADE#1 = Dot<4>(v11AA9,hx1AC8);
          real t21ADF#1 = Dot<4>(v21AAA,hx1AC8);
          real t31AE0#1 = Dot<4>(v31AAB,hx1AC8);
          real4 tv1ADC#1 = <real4>[t01ADD,t11ADE,t21ADF,t31AE0];
          real _t1AA2#1 = Dot<4>(hy1AC9,tv1ADC);
          real2 x1B20#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v120CF5);
          real2 nd1B22#2 = Floor<2>(x1B20);
          real2 f1B21#2 = Sub<real2>(x1B20,nd1B22);
          int{2} n1B23#8 = RealToInt<2>(nd1B22);
          int t21B40#1 = Index<int{2},0>(n1B23);
          int ix1B3E#4 = Add<int>(t11AC2,t21B40);
          int t21B43#4 = Index<int{2},1>(n1B23);
          int iy1B41#1 = Add<int>(t11AC2,t21B43);
          addr(IMAGE2D<int>) a1B44#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1B3E,iy1B41);
          real4 v01B25#1 = LoadVoxels<IMAGE2D<int>,4>(a1B44);
          int iy1B3A#1 = Add<int>(_t0D75,t21B43);
          addr(IMAGE2D<int>) a1B3D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1B3E,iy1B3A);
          real4 v11B26#1 = LoadVoxels<IMAGE2D<int>,4>(a1B3D);
          int iy1B33#1 = Add<int>(_t0D79,t21B43);
          addr(IMAGE2D<int>) a1B36#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1B3E,iy1B33);
          real4 v21B27#1 = LoadVoxels<IMAGE2D<int>,4>(a1B36);
          int iy1B2C#1 = Add<int>(_t0D51,t21B43);
          addr(IMAGE2D<int>) a1B2F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1B3E,iy1B2C);
          real4 v31B28#1 = LoadVoxels<IMAGE2D<int>,4>(a1B2F);
          real fy1B50#5 = Index<real2,1>(f1B21);
          real t31B55#1 = Add<real>(fy1B50,_t0D4D);
          real t11B53#1 = Sub<real>(fy1B50,_t0D4D);
          real t01B52#1 = Sub<real>(fy1B50,_t0D4F);
          real4 a1B51#1 = <real4>[t31B55,fy1B50,t11B53,t01B52];
          real4 hy1B46#1 = EvalKernel<4,bspln3,0>(a1B51);
          real fx1B47#5 = Index<real2,0>(f1B21);
          real t31B4C#1 = Add<real>(fx1B47,_t0D4D);
          real t11B4A#1 = Sub<real>(fx1B47,_t0D4D);
          real t01B49#1 = Sub<real>(fx1B47,_t0D4F);
          real4 a1B48#1 = <real4>[t31B4C,fx1B47,t11B4A,t01B49];
          real4 hx1B45#4 = EvalKernel<4,bspln3,0>(a1B48);
          real t01B5A#1 = Dot<4>(v01B25,hx1B45);
          real t11B5B#1 = Dot<4>(v11B26,hx1B45);
          real t21B5C#1 = Dot<4>(v21B27,hx1B45);
          real t31B5D#1 = Dot<4>(v31B28,hx1B45);
          real4 tv1B59#1 = <real4>[t01B5A,t11B5B,t21B5C,t31B5D];
          real _t1B1F#1 = Dot<4>(hy1B46,tv1B59);
          real _t1B9C#2 = Sub<real>(_t1AA2,_t1B1F);
          real _t1B9E#1 = Mul<real>(_t1B9C,_t1B9C);
          real score1BA0#1 = Add<real>(score1A8B,_t1B9E);
          goto JOIN1BA3
        JOIN1BA3:  preds = [ASSIGN1BA1,COND1AA1]
          real score1BA2#2 = phi(score1BA0,score1A8B)
          real _t1BA4#1 = Dot<2>(r00D67,v130CF7);
          real _t1BA6#1 = Dot<2>(r10D6D,v130CF7);
          real2 _t1BA8#1 = <real2>[_t1BA4,_t1BA6];
          real2 pos1BAA#2 = Add<real2>(_t1BA8,_t0D7D);
          real2 x1BAD#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1BAA);
          bool _t1BAC#1 = Inside<IMAGE2D<float>,2>(x1BAD,_t0CD1);
          if _t1BAC then goto ASSIGN1BB3 else goto ASSIGN28C9
        ASSIGN1BB3:  preds = [COND1BB0]
          real2 x1BB2#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v130CF7);
          bool _t1BB1#1 = Inside<IMAGE2D<int>,2>(x1BB2,_t0CCD);
          goto JOIN1BB7
        JOIN1BB7:  preds = [ASSIGN1BB4,ASSIGN28C9]
          bool _t1BB5#1 = phi(_t1BB1,_t1BB6)
          if _t1BB5 then goto ASSIGN2A96 else goto JOIN1CBA
        ASSIGN2A96:  preds = [COND1BB8]
          real2 nd1BBC#2 = Floor<2>(x1BAD);
          real2 f1BBB#2 = Sub<real2>(x1BAD,nd1BBC);
          int{2} n1BBD#8 = RealToInt<2>(nd1BBC);
          int t11BD9#4 = -1;
          int t21BDA#1 = Index<int{2},0>(n1BBD);
          int ix1BD8#4 = Add<int>(t11BD9,t21BDA);
          int t21BDD#4 = Index<int{2},1>(n1BBD);
          int iy1BDB#1 = Add<int>(t11BD9,t21BDD);
          addr(IMAGE2D<float>) a1BDE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1BD8,iy1BDB);
          real4 v01BBF#1 = LoadVoxels<IMAGE2D<float>,4>(a1BDE);
          int iy1BD4#1 = Add<int>(_t0D75,t21BDD);
          addr(IMAGE2D<float>) a1BD7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1BD8,iy1BD4);
          real4 v11BC0#1 = LoadVoxels<IMAGE2D<float>,4>(a1BD7);
          int iy1BCD#1 = Add<int>(_t0D79,t21BDD);
          addr(IMAGE2D<float>) a1BD0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1BD8,iy1BCD);
          real4 v21BC1#1 = LoadVoxels<IMAGE2D<float>,4>(a1BD0);
          int iy1BC6#1 = Add<int>(_t0D51,t21BDD);
          addr(IMAGE2D<float>) a1BC9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1BD8,iy1BC6);
          real4 v31BC2#1 = LoadVoxels<IMAGE2D<float>,4>(a1BC9);
          real fy1BEA#5 = Index<real2,1>(f1BBB);
          real t31BEF#1 = Add<real>(fy1BEA,_t0D4D);
          real t11BED#1 = Sub<real>(fy1BEA,_t0D4D);
          real t01BEC#1 = Sub<real>(fy1BEA,_t0D4F);
          real4 a1BEB#1 = <real4>[t31BEF,fy1BEA,t11BED,t01BEC];
          real4 hy1BE0#1 = EvalKernel<4,bspln3,0>(a1BEB);
          real fx1BE1#5 = Index<real2,0>(f1BBB);
          real t31BE6#1 = Add<real>(fx1BE1,_t0D4D);
          real t11BE4#1 = Sub<real>(fx1BE1,_t0D4D);
          real t01BE3#1 = Sub<real>(fx1BE1,_t0D4F);
          real4 a1BE2#1 = <real4>[t31BE6,fx1BE1,t11BE4,t01BE3];
          real4 hx1BDF#4 = EvalKernel<4,bspln3,0>(a1BE2);
          real t01BF4#1 = Dot<4>(v01BBF,hx1BDF);
          real t11BF5#1 = Dot<4>(v11BC0,hx1BDF);
          real t21BF6#1 = Dot<4>(v21BC1,hx1BDF);
          real t31BF7#1 = Dot<4>(v31BC2,hx1BDF);
          real4 tv1BF3#1 = <real4>[t01BF4,t11BF5,t21BF6,t31BF7];
          real _t1BB9#1 = Dot<4>(hy1BE0,tv1BF3);
          real2 x1C37#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v130CF7);
          real2 nd1C39#2 = Floor<2>(x1C37);
          real2 f1C38#2 = Sub<real2>(x1C37,nd1C39);
          int{2} n1C3A#8 = RealToInt<2>(nd1C39);
          int t21C57#1 = Index<int{2},0>(n1C3A);
          int ix1C55#4 = Add<int>(t11BD9,t21C57);
          int t21C5A#4 = Index<int{2},1>(n1C3A);
          int iy1C58#1 = Add<int>(t11BD9,t21C5A);
          addr(IMAGE2D<int>) a1C5B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1C55,iy1C58);
          real4 v01C3C#1 = LoadVoxels<IMAGE2D<int>,4>(a1C5B);
          int iy1C51#1 = Add<int>(_t0D75,t21C5A);
          addr(IMAGE2D<int>) a1C54#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1C55,iy1C51);
          real4 v11C3D#1 = LoadVoxels<IMAGE2D<int>,4>(a1C54);
          int iy1C4A#1 = Add<int>(_t0D79,t21C5A);
          addr(IMAGE2D<int>) a1C4D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1C55,iy1C4A);
          real4 v21C3E#1 = LoadVoxels<IMAGE2D<int>,4>(a1C4D);
          int iy1C43#1 = Add<int>(_t0D51,t21C5A);
          addr(IMAGE2D<int>) a1C46#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1C55,iy1C43);
          real4 v31C3F#1 = LoadVoxels<IMAGE2D<int>,4>(a1C46);
          real fy1C67#5 = Index<real2,1>(f1C38);
          real t31C6C#1 = Add<real>(fy1C67,_t0D4D);
          real t11C6A#1 = Sub<real>(fy1C67,_t0D4D);
          real t01C69#1 = Sub<real>(fy1C67,_t0D4F);
          real4 a1C68#1 = <real4>[t31C6C,fy1C67,t11C6A,t01C69];
          real4 hy1C5D#1 = EvalKernel<4,bspln3,0>(a1C68);
          real fx1C5E#5 = Index<real2,0>(f1C38);
          real t31C63#1 = Add<real>(fx1C5E,_t0D4D);
          real t11C61#1 = Sub<real>(fx1C5E,_t0D4D);
          real t01C60#1 = Sub<real>(fx1C5E,_t0D4F);
          real4 a1C5F#1 = <real4>[t31C63,fx1C5E,t11C61,t01C60];
          real4 hx1C5C#4 = EvalKernel<4,bspln3,0>(a1C5F);
          real t01C71#1 = Dot<4>(v01C3C,hx1C5C);
          real t11C72#1 = Dot<4>(v11C3D,hx1C5C);
          real t21C73#1 = Dot<4>(v21C3E,hx1C5C);
          real t31C74#1 = Dot<4>(v31C3F,hx1C5C);
          real4 tv1C70#1 = <real4>[t01C71,t11C72,t21C73,t31C74];
          real _t1C36#1 = Dot<4>(hy1C5D,tv1C70);
          real _t1CB3#2 = Sub<real>(_t1BB9,_t1C36);
          real _t1CB5#1 = Mul<real>(_t1CB3,_t1CB3);
          real score1CB7#1 = Add<real>(score1BA2,_t1CB5);
          goto JOIN1CBA
        JOIN1CBA:  preds = [ASSIGN1CB8,COND1BB8]
          real score1CB9#2 = phi(score1CB7,score1BA2)
          real _t1CBB#1 = Dot<2>(r00D67,v140CF9);
          real _t1CBD#1 = Dot<2>(r10D6D,v140CF9);
          real2 _t1CBF#1 = <real2>[_t1CBB,_t1CBD];
          real2 pos1CC1#2 = Add<real2>(_t1CBF,_t0D7D);
          real2 x1CC4#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1CC1);
          bool _t1CC3#1 = Inside<IMAGE2D<float>,2>(x1CC4,_t0CD1);
          if _t1CC3 then goto ASSIGN1CCA else goto ASSIGN28C8
        ASSIGN1CCA:  preds = [COND1CC7]
          real2 x1CC9#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v140CF9);
          bool _t1CC8#1 = Inside<IMAGE2D<int>,2>(x1CC9,_t0CCD);
          goto JOIN1CCE
        JOIN1CCE:  preds = [ASSIGN1CCB,ASSIGN28C8]
          bool _t1CCC#1 = phi(_t1CC8,_t1CCD)
          if _t1CCC then goto ASSIGN2AB7 else goto JOIN1DD1
        ASSIGN2AB7:  preds = [COND1CCF]
          real2 nd1CD3#2 = Floor<2>(x1CC4);
          real2 f1CD2#2 = Sub<real2>(x1CC4,nd1CD3);
          int{2} n1CD4#8 = RealToInt<2>(nd1CD3);
          int t11CF0#4 = -1;
          int t21CF1#1 = Index<int{2},0>(n1CD4);
          int ix1CEF#4 = Add<int>(t11CF0,t21CF1);
          int t21CF4#4 = Index<int{2},1>(n1CD4);
          int iy1CF2#1 = Add<int>(t11CF0,t21CF4);
          addr(IMAGE2D<float>) a1CF5#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1CEF,iy1CF2);
          real4 v01CD6#1 = LoadVoxels<IMAGE2D<float>,4>(a1CF5);
          int iy1CEB#1 = Add<int>(_t0D75,t21CF4);
          addr(IMAGE2D<float>) a1CEE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1CEF,iy1CEB);
          real4 v11CD7#1 = LoadVoxels<IMAGE2D<float>,4>(a1CEE);
          int iy1CE4#1 = Add<int>(_t0D79,t21CF4);
          addr(IMAGE2D<float>) a1CE7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1CEF,iy1CE4);
          real4 v21CD8#1 = LoadVoxels<IMAGE2D<float>,4>(a1CE7);
          int iy1CDD#1 = Add<int>(_t0D51,t21CF4);
          addr(IMAGE2D<float>) a1CE0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1CEF,iy1CDD);
          real4 v31CD9#1 = LoadVoxels<IMAGE2D<float>,4>(a1CE0);
          real fy1D01#5 = Index<real2,1>(f1CD2);
          real t31D06#1 = Add<real>(fy1D01,_t0D4D);
          real t11D04#1 = Sub<real>(fy1D01,_t0D4D);
          real t01D03#1 = Sub<real>(fy1D01,_t0D4F);
          real4 a1D02#1 = <real4>[t31D06,fy1D01,t11D04,t01D03];
          real4 hy1CF7#1 = EvalKernel<4,bspln3,0>(a1D02);
          real fx1CF8#5 = Index<real2,0>(f1CD2);
          real t31CFD#1 = Add<real>(fx1CF8,_t0D4D);
          real t11CFB#1 = Sub<real>(fx1CF8,_t0D4D);
          real t01CFA#1 = Sub<real>(fx1CF8,_t0D4F);
          real4 a1CF9#1 = <real4>[t31CFD,fx1CF8,t11CFB,t01CFA];
          real4 hx1CF6#4 = EvalKernel<4,bspln3,0>(a1CF9);
          real t01D0B#1 = Dot<4>(v01CD6,hx1CF6);
          real t11D0C#1 = Dot<4>(v11CD7,hx1CF6);
          real t21D0D#1 = Dot<4>(v21CD8,hx1CF6);
          real t31D0E#1 = Dot<4>(v31CD9,hx1CF6);
          real4 tv1D0A#1 = <real4>[t01D0B,t11D0C,t21D0D,t31D0E];
          real _t1CD0#1 = Dot<4>(hy1CF7,tv1D0A);
          real2 x1D4E#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v140CF9);
          real2 nd1D50#2 = Floor<2>(x1D4E);
          real2 f1D4F#2 = Sub<real2>(x1D4E,nd1D50);
          int{2} n1D51#8 = RealToInt<2>(nd1D50);
          int t21D6E#1 = Index<int{2},0>(n1D51);
          int ix1D6C#4 = Add<int>(t11CF0,t21D6E);
          int t21D71#4 = Index<int{2},1>(n1D51);
          int iy1D6F#1 = Add<int>(t11CF0,t21D71);
          addr(IMAGE2D<int>) a1D72#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1D6C,iy1D6F);
          real4 v01D53#1 = LoadVoxels<IMAGE2D<int>,4>(a1D72);
          int iy1D68#1 = Add<int>(_t0D75,t21D71);
          addr(IMAGE2D<int>) a1D6B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1D6C,iy1D68);
          real4 v11D54#1 = LoadVoxels<IMAGE2D<int>,4>(a1D6B);
          int iy1D61#1 = Add<int>(_t0D79,t21D71);
          addr(IMAGE2D<int>) a1D64#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1D6C,iy1D61);
          real4 v21D55#1 = LoadVoxels<IMAGE2D<int>,4>(a1D64);
          int iy1D5A#1 = Add<int>(_t0D51,t21D71);
          addr(IMAGE2D<int>) a1D5D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1D6C,iy1D5A);
          real4 v31D56#1 = LoadVoxels<IMAGE2D<int>,4>(a1D5D);
          real fy1D7E#5 = Index<real2,1>(f1D4F);
          real t31D83#1 = Add<real>(fy1D7E,_t0D4D);
          real t11D81#1 = Sub<real>(fy1D7E,_t0D4D);
          real t01D80#1 = Sub<real>(fy1D7E,_t0D4F);
          real4 a1D7F#1 = <real4>[t31D83,fy1D7E,t11D81,t01D80];
          real4 hy1D74#1 = EvalKernel<4,bspln3,0>(a1D7F);
          real fx1D75#5 = Index<real2,0>(f1D4F);
          real t31D7A#1 = Add<real>(fx1D75,_t0D4D);
          real t11D78#1 = Sub<real>(fx1D75,_t0D4D);
          real t01D77#1 = Sub<real>(fx1D75,_t0D4F);
          real4 a1D76#1 = <real4>[t31D7A,fx1D75,t11D78,t01D77];
          real4 hx1D73#4 = EvalKernel<4,bspln3,0>(a1D76);
          real t01D88#1 = Dot<4>(v01D53,hx1D73);
          real t11D89#1 = Dot<4>(v11D54,hx1D73);
          real t21D8A#1 = Dot<4>(v21D55,hx1D73);
          real t31D8B#1 = Dot<4>(v31D56,hx1D73);
          real4 tv1D87#1 = <real4>[t01D88,t11D89,t21D8A,t31D8B];
          real _t1D4D#1 = Dot<4>(hy1D74,tv1D87);
          real _t1DCA#2 = Sub<real>(_t1CD0,_t1D4D);
          real _t1DCC#1 = Mul<real>(_t1DCA,_t1DCA);
          real score1DCE#1 = Add<real>(score1CB9,_t1DCC);
          goto JOIN1DD1
        JOIN1DD1:  preds = [ASSIGN1DCF,COND1CCF]
          real score1DD0#2 = phi(score1DCE,score1CB9)
          real _t1DD2#1 = Dot<2>(r00D67,v150CFB);
          real _t1DD4#1 = Dot<2>(r10D6D,v150CFB);
          real2 _t1DD6#1 = <real2>[_t1DD2,_t1DD4];
          real2 pos1DD8#2 = Add<real2>(_t1DD6,_t0D7D);
          real2 x1DDB#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1DD8);
          bool _t1DDA#1 = Inside<IMAGE2D<float>,2>(x1DDB,_t0CD1);
          if _t1DDA then goto ASSIGN1DE1 else goto ASSIGN28C7
        ASSIGN1DE1:  preds = [COND1DDE]
          real2 x1DE0#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v150CFB);
          bool _t1DDF#1 = Inside<IMAGE2D<int>,2>(x1DE0,_t0CCD);
          goto JOIN1DE5
        JOIN1DE5:  preds = [ASSIGN1DE2,ASSIGN28C7]
          bool _t1DE3#1 = phi(_t1DDF,_t1DE4)
          if _t1DE3 then goto ASSIGN2AD8 else goto JOIN1EE8
        ASSIGN2AD8:  preds = [COND1DE6]
          real2 nd1DEA#2 = Floor<2>(x1DDB);
          real2 f1DE9#2 = Sub<real2>(x1DDB,nd1DEA);
          int{2} n1DEB#8 = RealToInt<2>(nd1DEA);
          int t11E07#4 = -1;
          int t21E08#1 = Index<int{2},0>(n1DEB);
          int ix1E06#4 = Add<int>(t11E07,t21E08);
          int t21E0B#4 = Index<int{2},1>(n1DEB);
          int iy1E09#1 = Add<int>(t11E07,t21E0B);
          addr(IMAGE2D<float>) a1E0C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1E06,iy1E09);
          real4 v01DED#1 = LoadVoxels<IMAGE2D<float>,4>(a1E0C);
          int iy1E02#1 = Add<int>(_t0D75,t21E0B);
          addr(IMAGE2D<float>) a1E05#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1E06,iy1E02);
          real4 v11DEE#1 = LoadVoxels<IMAGE2D<float>,4>(a1E05);
          int iy1DFB#1 = Add<int>(_t0D79,t21E0B);
          addr(IMAGE2D<float>) a1DFE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1E06,iy1DFB);
          real4 v21DEF#1 = LoadVoxels<IMAGE2D<float>,4>(a1DFE);
          int iy1DF4#1 = Add<int>(_t0D51,t21E0B);
          addr(IMAGE2D<float>) a1DF7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1E06,iy1DF4);
          real4 v31DF0#1 = LoadVoxels<IMAGE2D<float>,4>(a1DF7);
          real fy1E18#5 = Index<real2,1>(f1DE9);
          real t31E1D#1 = Add<real>(fy1E18,_t0D4D);
          real t11E1B#1 = Sub<real>(fy1E18,_t0D4D);
          real t01E1A#1 = Sub<real>(fy1E18,_t0D4F);
          real4 a1E19#1 = <real4>[t31E1D,fy1E18,t11E1B,t01E1A];
          real4 hy1E0E#1 = EvalKernel<4,bspln3,0>(a1E19);
          real fx1E0F#5 = Index<real2,0>(f1DE9);
          real t31E14#1 = Add<real>(fx1E0F,_t0D4D);
          real t11E12#1 = Sub<real>(fx1E0F,_t0D4D);
          real t01E11#1 = Sub<real>(fx1E0F,_t0D4F);
          real4 a1E10#1 = <real4>[t31E14,fx1E0F,t11E12,t01E11];
          real4 hx1E0D#4 = EvalKernel<4,bspln3,0>(a1E10);
          real t01E22#1 = Dot<4>(v01DED,hx1E0D);
          real t11E23#1 = Dot<4>(v11DEE,hx1E0D);
          real t21E24#1 = Dot<4>(v21DEF,hx1E0D);
          real t31E25#1 = Dot<4>(v31DF0,hx1E0D);
          real4 tv1E21#1 = <real4>[t01E22,t11E23,t21E24,t31E25];
          real _t1DE7#1 = Dot<4>(hy1E0E,tv1E21);
          real2 x1E65#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v150CFB);
          real2 nd1E67#2 = Floor<2>(x1E65);
          real2 f1E66#2 = Sub<real2>(x1E65,nd1E67);
          int{2} n1E68#8 = RealToInt<2>(nd1E67);
          int t21E85#1 = Index<int{2},0>(n1E68);
          int ix1E83#4 = Add<int>(t11E07,t21E85);
          int t21E88#4 = Index<int{2},1>(n1E68);
          int iy1E86#1 = Add<int>(t11E07,t21E88);
          addr(IMAGE2D<int>) a1E89#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1E83,iy1E86);
          real4 v01E6A#1 = LoadVoxels<IMAGE2D<int>,4>(a1E89);
          int iy1E7F#1 = Add<int>(_t0D75,t21E88);
          addr(IMAGE2D<int>) a1E82#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1E83,iy1E7F);
          real4 v11E6B#1 = LoadVoxels<IMAGE2D<int>,4>(a1E82);
          int iy1E78#1 = Add<int>(_t0D79,t21E88);
          addr(IMAGE2D<int>) a1E7B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1E83,iy1E78);
          real4 v21E6C#1 = LoadVoxels<IMAGE2D<int>,4>(a1E7B);
          int iy1E71#1 = Add<int>(_t0D51,t21E88);
          addr(IMAGE2D<int>) a1E74#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1E83,iy1E71);
          real4 v31E6D#1 = LoadVoxels<IMAGE2D<int>,4>(a1E74);
          real fy1E95#5 = Index<real2,1>(f1E66);
          real t31E9A#1 = Add<real>(fy1E95,_t0D4D);
          real t11E98#1 = Sub<real>(fy1E95,_t0D4D);
          real t01E97#1 = Sub<real>(fy1E95,_t0D4F);
          real4 a1E96#1 = <real4>[t31E9A,fy1E95,t11E98,t01E97];
          real4 hy1E8B#1 = EvalKernel<4,bspln3,0>(a1E96);
          real fx1E8C#5 = Index<real2,0>(f1E66);
          real t31E91#1 = Add<real>(fx1E8C,_t0D4D);
          real t11E8F#1 = Sub<real>(fx1E8C,_t0D4D);
          real t01E8E#1 = Sub<real>(fx1E8C,_t0D4F);
          real4 a1E8D#1 = <real4>[t31E91,fx1E8C,t11E8F,t01E8E];
          real4 hx1E8A#4 = EvalKernel<4,bspln3,0>(a1E8D);
          real t01E9F#1 = Dot<4>(v01E6A,hx1E8A);
          real t11EA0#1 = Dot<4>(v11E6B,hx1E8A);
          real t21EA1#1 = Dot<4>(v21E6C,hx1E8A);
          real t31EA2#1 = Dot<4>(v31E6D,hx1E8A);
          real4 tv1E9E#1 = <real4>[t01E9F,t11EA0,t21EA1,t31EA2];
          real _t1E64#1 = Dot<4>(hy1E8B,tv1E9E);
          real _t1EE1#2 = Sub<real>(_t1DE7,_t1E64);
          real _t1EE3#1 = Mul<real>(_t1EE1,_t1EE1);
          real score1EE5#1 = Add<real>(score1DD0,_t1EE3);
          goto JOIN1EE8
        JOIN1EE8:  preds = [ASSIGN1EE6,COND1DE6]
          real score1EE7#2 = phi(score1EE5,score1DD0)
          real _t1EE9#1 = Dot<2>(r00D67,v160CFD);
          real _t1EEB#1 = Dot<2>(r10D6D,v160CFD);
          real2 _t1EED#1 = <real2>[_t1EE9,_t1EEB];
          real2 pos1EEF#2 = Add<real2>(_t1EED,_t0D7D);
          real2 x1EF2#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos1EEF);
          bool _t1EF1#1 = Inside<IMAGE2D<float>,2>(x1EF2,_t0CD1);
          if _t1EF1 then goto ASSIGN1EF8 else goto ASSIGN28C6
        ASSIGN1EF8:  preds = [COND1EF5]
          real2 x1EF7#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v160CFD);
          bool _t1EF6#1 = Inside<IMAGE2D<int>,2>(x1EF7,_t0CCD);
          goto JOIN1EFC
        JOIN1EFC:  preds = [ASSIGN1EF9,ASSIGN28C6]
          bool _t1EFA#1 = phi(_t1EF6,_t1EFB)
          if _t1EFA then goto ASSIGN2AF9 else goto JOIN1FFF
        ASSIGN2AF9:  preds = [COND1EFD]
          real2 nd1F01#2 = Floor<2>(x1EF2);
          real2 f1F00#2 = Sub<real2>(x1EF2,nd1F01);
          int{2} n1F02#8 = RealToInt<2>(nd1F01);
          int t11F1E#4 = -1;
          int t21F1F#1 = Index<int{2},0>(n1F02);
          int ix1F1D#4 = Add<int>(t11F1E,t21F1F);
          int t21F22#4 = Index<int{2},1>(n1F02);
          int iy1F20#1 = Add<int>(t11F1E,t21F22);
          addr(IMAGE2D<float>) a1F23#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1F1D,iy1F20);
          real4 v01F04#1 = LoadVoxels<IMAGE2D<float>,4>(a1F23);
          int iy1F19#1 = Add<int>(_t0D75,t21F22);
          addr(IMAGE2D<float>) a1F1C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1F1D,iy1F19);
          real4 v11F05#1 = LoadVoxels<IMAGE2D<float>,4>(a1F1C);
          int iy1F12#1 = Add<int>(_t0D79,t21F22);
          addr(IMAGE2D<float>) a1F15#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1F1D,iy1F12);
          real4 v21F06#1 = LoadVoxels<IMAGE2D<float>,4>(a1F15);
          int iy1F0B#1 = Add<int>(_t0D51,t21F22);
          addr(IMAGE2D<float>) a1F0E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix1F1D,iy1F0B);
          real4 v31F07#1 = LoadVoxels<IMAGE2D<float>,4>(a1F0E);
          real fy1F2F#5 = Index<real2,1>(f1F00);
          real t31F34#1 = Add<real>(fy1F2F,_t0D4D);
          real t11F32#1 = Sub<real>(fy1F2F,_t0D4D);
          real t01F31#1 = Sub<real>(fy1F2F,_t0D4F);
          real4 a1F30#1 = <real4>[t31F34,fy1F2F,t11F32,t01F31];
          real4 hy1F25#1 = EvalKernel<4,bspln3,0>(a1F30);
          real fx1F26#5 = Index<real2,0>(f1F00);
          real t31F2B#1 = Add<real>(fx1F26,_t0D4D);
          real t11F29#1 = Sub<real>(fx1F26,_t0D4D);
          real t01F28#1 = Sub<real>(fx1F26,_t0D4F);
          real4 a1F27#1 = <real4>[t31F2B,fx1F26,t11F29,t01F28];
          real4 hx1F24#4 = EvalKernel<4,bspln3,0>(a1F27);
          real t01F39#1 = Dot<4>(v01F04,hx1F24);
          real t11F3A#1 = Dot<4>(v11F05,hx1F24);
          real t21F3B#1 = Dot<4>(v21F06,hx1F24);
          real t31F3C#1 = Dot<4>(v31F07,hx1F24);
          real4 tv1F38#1 = <real4>[t01F39,t11F3A,t21F3B,t31F3C];
          real _t1EFE#1 = Dot<4>(hy1F25,tv1F38);
          real2 x1F7C#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v160CFD);
          real2 nd1F7E#2 = Floor<2>(x1F7C);
          real2 f1F7D#2 = Sub<real2>(x1F7C,nd1F7E);
          int{2} n1F7F#8 = RealToInt<2>(nd1F7E);
          int t21F9C#1 = Index<int{2},0>(n1F7F);
          int ix1F9A#4 = Add<int>(t11F1E,t21F9C);
          int t21F9F#4 = Index<int{2},1>(n1F7F);
          int iy1F9D#1 = Add<int>(t11F1E,t21F9F);
          addr(IMAGE2D<int>) a1FA0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1F9A,iy1F9D);
          real4 v01F81#1 = LoadVoxels<IMAGE2D<int>,4>(a1FA0);
          int iy1F96#1 = Add<int>(_t0D75,t21F9F);
          addr(IMAGE2D<int>) a1F99#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1F9A,iy1F96);
          real4 v11F82#1 = LoadVoxels<IMAGE2D<int>,4>(a1F99);
          int iy1F8F#1 = Add<int>(_t0D79,t21F9F);
          addr(IMAGE2D<int>) a1F92#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1F9A,iy1F8F);
          real4 v21F83#1 = LoadVoxels<IMAGE2D<int>,4>(a1F92);
          int iy1F88#1 = Add<int>(_t0D51,t21F9F);
          addr(IMAGE2D<int>) a1F8B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix1F9A,iy1F88);
          real4 v31F84#1 = LoadVoxels<IMAGE2D<int>,4>(a1F8B);
          real fy1FAC#5 = Index<real2,1>(f1F7D);
          real t31FB1#1 = Add<real>(fy1FAC,_t0D4D);
          real t11FAF#1 = Sub<real>(fy1FAC,_t0D4D);
          real t01FAE#1 = Sub<real>(fy1FAC,_t0D4F);
          real4 a1FAD#1 = <real4>[t31FB1,fy1FAC,t11FAF,t01FAE];
          real4 hy1FA2#1 = EvalKernel<4,bspln3,0>(a1FAD);
          real fx1FA3#5 = Index<real2,0>(f1F7D);
          real t31FA8#1 = Add<real>(fx1FA3,_t0D4D);
          real t11FA6#1 = Sub<real>(fx1FA3,_t0D4D);
          real t01FA5#1 = Sub<real>(fx1FA3,_t0D4F);
          real4 a1FA4#1 = <real4>[t31FA8,fx1FA3,t11FA6,t01FA5];
          real4 hx1FA1#4 = EvalKernel<4,bspln3,0>(a1FA4);
          real t01FB6#1 = Dot<4>(v01F81,hx1FA1);
          real t11FB7#1 = Dot<4>(v11F82,hx1FA1);
          real t21FB8#1 = Dot<4>(v21F83,hx1FA1);
          real t31FB9#1 = Dot<4>(v31F84,hx1FA1);
          real4 tv1FB5#1 = <real4>[t01FB6,t11FB7,t21FB8,t31FB9];
          real _t1F7B#1 = Dot<4>(hy1FA2,tv1FB5);
          real _t1FF8#2 = Sub<real>(_t1EFE,_t1F7B);
          real _t1FFA#1 = Mul<real>(_t1FF8,_t1FF8);
          real score1FFC#1 = Add<real>(score1EE7,_t1FFA);
          goto JOIN1FFF
        JOIN1FFF:  preds = [ASSIGN1FFD,COND1EFD]
          real score1FFE#2 = phi(score1FFC,score1EE7)
          real _t2000#1 = Dot<2>(r00D67,v170CFF);
          real _t2002#1 = Dot<2>(r10D6D,v170CFF);
          real2 _t2004#1 = <real2>[_t2000,_t2002];
          real2 pos2006#2 = Add<real2>(_t2004,_t0D7D);
          real2 x2009#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2006);
          bool _t2008#1 = Inside<IMAGE2D<float>,2>(x2009,_t0CD1);
          if _t2008 then goto ASSIGN200F else goto ASSIGN28C5
        ASSIGN200F:  preds = [COND200C]
          real2 x200E#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v170CFF);
          bool _t200D#1 = Inside<IMAGE2D<int>,2>(x200E,_t0CCD);
          goto JOIN2013
        JOIN2013:  preds = [ASSIGN2010,ASSIGN28C5]
          bool _t2011#1 = phi(_t200D,_t2012)
          if _t2011 then goto ASSIGN2B1A else goto JOIN2116
        ASSIGN2B1A:  preds = [COND2014]
          real2 nd2018#2 = Floor<2>(x2009);
          real2 f2017#2 = Sub<real2>(x2009,nd2018);
          int{2} n2019#8 = RealToInt<2>(nd2018);
          int t12035#4 = -1;
          int t22036#1 = Index<int{2},0>(n2019);
          int ix2034#4 = Add<int>(t12035,t22036);
          int t22039#4 = Index<int{2},1>(n2019);
          int iy2037#1 = Add<int>(t12035,t22039);
          addr(IMAGE2D<float>) a203A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2034,iy2037);
          real4 v0201B#1 = LoadVoxels<IMAGE2D<float>,4>(a203A);
          int iy2030#1 = Add<int>(_t0D75,t22039);
          addr(IMAGE2D<float>) a2033#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2034,iy2030);
          real4 v1201C#1 = LoadVoxels<IMAGE2D<float>,4>(a2033);
          int iy2029#1 = Add<int>(_t0D79,t22039);
          addr(IMAGE2D<float>) a202C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2034,iy2029);
          real4 v2201D#1 = LoadVoxels<IMAGE2D<float>,4>(a202C);
          int iy2022#1 = Add<int>(_t0D51,t22039);
          addr(IMAGE2D<float>) a2025#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2034,iy2022);
          real4 v3201E#1 = LoadVoxels<IMAGE2D<float>,4>(a2025);
          real fy2046#5 = Index<real2,1>(f2017);
          real t3204B#1 = Add<real>(fy2046,_t0D4D);
          real t12049#1 = Sub<real>(fy2046,_t0D4D);
          real t02048#1 = Sub<real>(fy2046,_t0D4F);
          real4 a2047#1 = <real4>[t3204B,fy2046,t12049,t02048];
          real4 hy203C#1 = EvalKernel<4,bspln3,0>(a2047);
          real fx203D#5 = Index<real2,0>(f2017);
          real t32042#1 = Add<real>(fx203D,_t0D4D);
          real t12040#1 = Sub<real>(fx203D,_t0D4D);
          real t0203F#1 = Sub<real>(fx203D,_t0D4F);
          real4 a203E#1 = <real4>[t32042,fx203D,t12040,t0203F];
          real4 hx203B#4 = EvalKernel<4,bspln3,0>(a203E);
          real t02050#1 = Dot<4>(v0201B,hx203B);
          real t12051#1 = Dot<4>(v1201C,hx203B);
          real t22052#1 = Dot<4>(v2201D,hx203B);
          real t32053#1 = Dot<4>(v3201E,hx203B);
          real4 tv204F#1 = <real4>[t02050,t12051,t22052,t32053];
          real _t2015#1 = Dot<4>(hy203C,tv204F);
          real2 x2093#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v170CFF);
          real2 nd2095#2 = Floor<2>(x2093);
          real2 f2094#2 = Sub<real2>(x2093,nd2095);
          int{2} n2096#8 = RealToInt<2>(nd2095);
          int t220B3#1 = Index<int{2},0>(n2096);
          int ix20B1#4 = Add<int>(t12035,t220B3);
          int t220B6#4 = Index<int{2},1>(n2096);
          int iy20B4#1 = Add<int>(t12035,t220B6);
          addr(IMAGE2D<int>) a20B7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix20B1,iy20B4);
          real4 v02098#1 = LoadVoxels<IMAGE2D<int>,4>(a20B7);
          int iy20AD#1 = Add<int>(_t0D75,t220B6);
          addr(IMAGE2D<int>) a20B0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix20B1,iy20AD);
          real4 v12099#1 = LoadVoxels<IMAGE2D<int>,4>(a20B0);
          int iy20A6#1 = Add<int>(_t0D79,t220B6);
          addr(IMAGE2D<int>) a20A9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix20B1,iy20A6);
          real4 v2209A#1 = LoadVoxels<IMAGE2D<int>,4>(a20A9);
          int iy209F#1 = Add<int>(_t0D51,t220B6);
          addr(IMAGE2D<int>) a20A2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix20B1,iy209F);
          real4 v3209B#1 = LoadVoxels<IMAGE2D<int>,4>(a20A2);
          real fy20C3#5 = Index<real2,1>(f2094);
          real t320C8#1 = Add<real>(fy20C3,_t0D4D);
          real t120C6#1 = Sub<real>(fy20C3,_t0D4D);
          real t020C5#1 = Sub<real>(fy20C3,_t0D4F);
          real4 a20C4#1 = <real4>[t320C8,fy20C3,t120C6,t020C5];
          real4 hy20B9#1 = EvalKernel<4,bspln3,0>(a20C4);
          real fx20BA#5 = Index<real2,0>(f2094);
          real t320BF#1 = Add<real>(fx20BA,_t0D4D);
          real t120BD#1 = Sub<real>(fx20BA,_t0D4D);
          real t020BC#1 = Sub<real>(fx20BA,_t0D4F);
          real4 a20BB#1 = <real4>[t320BF,fx20BA,t120BD,t020BC];
          real4 hx20B8#4 = EvalKernel<4,bspln3,0>(a20BB);
          real t020CD#1 = Dot<4>(v02098,hx20B8);
          real t120CE#1 = Dot<4>(v12099,hx20B8);
          real t220CF#1 = Dot<4>(v2209A,hx20B8);
          real t320D0#1 = Dot<4>(v3209B,hx20B8);
          real4 tv20CC#1 = <real4>[t020CD,t120CE,t220CF,t320D0];
          real _t2092#1 = Dot<4>(hy20B9,tv20CC);
          real _t210F#2 = Sub<real>(_t2015,_t2092);
          real _t2111#1 = Mul<real>(_t210F,_t210F);
          real score2113#1 = Add<real>(score1FFE,_t2111);
          goto JOIN2116
        JOIN2116:  preds = [ASSIGN2114,COND2014]
          real score2115#2 = phi(score2113,score1FFE)
          real _t2117#1 = Dot<2>(r00D67,v180D01);
          real _t2119#1 = Dot<2>(r10D6D,v180D01);
          real2 _t211B#1 = <real2>[_t2117,_t2119];
          real2 pos211D#2 = Add<real2>(_t211B,_t0D7D);
          real2 x2120#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos211D);
          bool _t211F#1 = Inside<IMAGE2D<float>,2>(x2120,_t0CD1);
          if _t211F then goto ASSIGN2126 else goto ASSIGN28C4
        ASSIGN2126:  preds = [COND2123]
          real2 x2125#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v180D01);
          bool _t2124#1 = Inside<IMAGE2D<int>,2>(x2125,_t0CCD);
          goto JOIN212A
        JOIN212A:  preds = [ASSIGN2127,ASSIGN28C4]
          bool _t2128#1 = phi(_t2124,_t2129)
          if _t2128 then goto ASSIGN2B3B else goto JOIN222D
        ASSIGN2B3B:  preds = [COND212B]
          real2 nd212F#2 = Floor<2>(x2120);
          real2 f212E#2 = Sub<real2>(x2120,nd212F);
          int{2} n2130#8 = RealToInt<2>(nd212F);
          int t1214C#4 = -1;
          int t2214D#1 = Index<int{2},0>(n2130);
          int ix214B#4 = Add<int>(t1214C,t2214D);
          int t22150#4 = Index<int{2},1>(n2130);
          int iy214E#1 = Add<int>(t1214C,t22150);
          addr(IMAGE2D<float>) a2151#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix214B,iy214E);
          real4 v02132#1 = LoadVoxels<IMAGE2D<float>,4>(a2151);
          int iy2147#1 = Add<int>(_t0D75,t22150);
          addr(IMAGE2D<float>) a214A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix214B,iy2147);
          real4 v12133#1 = LoadVoxels<IMAGE2D<float>,4>(a214A);
          int iy2140#1 = Add<int>(_t0D79,t22150);
          addr(IMAGE2D<float>) a2143#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix214B,iy2140);
          real4 v22134#1 = LoadVoxels<IMAGE2D<float>,4>(a2143);
          int iy2139#1 = Add<int>(_t0D51,t22150);
          addr(IMAGE2D<float>) a213C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix214B,iy2139);
          real4 v32135#1 = LoadVoxels<IMAGE2D<float>,4>(a213C);
          real fy215D#5 = Index<real2,1>(f212E);
          real t32162#1 = Add<real>(fy215D,_t0D4D);
          real t12160#1 = Sub<real>(fy215D,_t0D4D);
          real t0215F#1 = Sub<real>(fy215D,_t0D4F);
          real4 a215E#1 = <real4>[t32162,fy215D,t12160,t0215F];
          real4 hy2153#1 = EvalKernel<4,bspln3,0>(a215E);
          real fx2154#5 = Index<real2,0>(f212E);
          real t32159#1 = Add<real>(fx2154,_t0D4D);
          real t12157#1 = Sub<real>(fx2154,_t0D4D);
          real t02156#1 = Sub<real>(fx2154,_t0D4F);
          real4 a2155#1 = <real4>[t32159,fx2154,t12157,t02156];
          real4 hx2152#4 = EvalKernel<4,bspln3,0>(a2155);
          real t02167#1 = Dot<4>(v02132,hx2152);
          real t12168#1 = Dot<4>(v12133,hx2152);
          real t22169#1 = Dot<4>(v22134,hx2152);
          real t3216A#1 = Dot<4>(v32135,hx2152);
          real4 tv2166#1 = <real4>[t02167,t12168,t22169,t3216A];
          real _t212C#1 = Dot<4>(hy2153,tv2166);
          real2 x21AA#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v180D01);
          real2 nd21AC#2 = Floor<2>(x21AA);
          real2 f21AB#2 = Sub<real2>(x21AA,nd21AC);
          int{2} n21AD#8 = RealToInt<2>(nd21AC);
          int t221CA#1 = Index<int{2},0>(n21AD);
          int ix21C8#4 = Add<int>(t1214C,t221CA);
          int t221CD#4 = Index<int{2},1>(n21AD);
          int iy21CB#1 = Add<int>(t1214C,t221CD);
          addr(IMAGE2D<int>) a21CE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix21C8,iy21CB);
          real4 v021AF#1 = LoadVoxels<IMAGE2D<int>,4>(a21CE);
          int iy21C4#1 = Add<int>(_t0D75,t221CD);
          addr(IMAGE2D<int>) a21C7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix21C8,iy21C4);
          real4 v121B0#1 = LoadVoxels<IMAGE2D<int>,4>(a21C7);
          int iy21BD#1 = Add<int>(_t0D79,t221CD);
          addr(IMAGE2D<int>) a21C0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix21C8,iy21BD);
          real4 v221B1#1 = LoadVoxels<IMAGE2D<int>,4>(a21C0);
          int iy21B6#1 = Add<int>(_t0D51,t221CD);
          addr(IMAGE2D<int>) a21B9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix21C8,iy21B6);
          real4 v321B2#1 = LoadVoxels<IMAGE2D<int>,4>(a21B9);
          real fy21DA#5 = Index<real2,1>(f21AB);
          real t321DF#1 = Add<real>(fy21DA,_t0D4D);
          real t121DD#1 = Sub<real>(fy21DA,_t0D4D);
          real t021DC#1 = Sub<real>(fy21DA,_t0D4F);
          real4 a21DB#1 = <real4>[t321DF,fy21DA,t121DD,t021DC];
          real4 hy21D0#1 = EvalKernel<4,bspln3,0>(a21DB);
          real fx21D1#5 = Index<real2,0>(f21AB);
          real t321D6#1 = Add<real>(fx21D1,_t0D4D);
          real t121D4#1 = Sub<real>(fx21D1,_t0D4D);
          real t021D3#1 = Sub<real>(fx21D1,_t0D4F);
          real4 a21D2#1 = <real4>[t321D6,fx21D1,t121D4,t021D3];
          real4 hx21CF#4 = EvalKernel<4,bspln3,0>(a21D2);
          real t021E4#1 = Dot<4>(v021AF,hx21CF);
          real t121E5#1 = Dot<4>(v121B0,hx21CF);
          real t221E6#1 = Dot<4>(v221B1,hx21CF);
          real t321E7#1 = Dot<4>(v321B2,hx21CF);
          real4 tv21E3#1 = <real4>[t021E4,t121E5,t221E6,t321E7];
          real _t21A9#1 = Dot<4>(hy21D0,tv21E3);
          real _t2226#2 = Sub<real>(_t212C,_t21A9);
          real _t2228#1 = Mul<real>(_t2226,_t2226);
          real score222A#1 = Add<real>(score2115,_t2228);
          goto JOIN222D
        JOIN222D:  preds = [ASSIGN222B,COND212B]
          real score222C#2 = phi(score222A,score2115)
          real _t222E#1 = Dot<2>(r00D67,v190D03);
          real _t2230#1 = Dot<2>(r10D6D,v190D03);
          real2 _t2232#1 = <real2>[_t222E,_t2230];
          real2 pos2234#2 = Add<real2>(_t2232,_t0D7D);
          real2 x2237#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2234);
          bool _t2236#1 = Inside<IMAGE2D<float>,2>(x2237,_t0CD1);
          if _t2236 then goto ASSIGN223D else goto ASSIGN28C3
        ASSIGN223D:  preds = [COND223A]
          real2 x223C#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v190D03);
          bool _t223B#1 = Inside<IMAGE2D<int>,2>(x223C,_t0CCD);
          goto JOIN2241
        JOIN2241:  preds = [ASSIGN223E,ASSIGN28C3]
          bool _t223F#1 = phi(_t223B,_t2240)
          if _t223F then goto ASSIGN2B5C else goto JOIN2344
        ASSIGN2B5C:  preds = [COND2242]
          real2 nd2246#2 = Floor<2>(x2237);
          real2 f2245#2 = Sub<real2>(x2237,nd2246);
          int{2} n2247#8 = RealToInt<2>(nd2246);
          int t12263#4 = -1;
          int t22264#1 = Index<int{2},0>(n2247);
          int ix2262#4 = Add<int>(t12263,t22264);
          int t22267#4 = Index<int{2},1>(n2247);
          int iy2265#1 = Add<int>(t12263,t22267);
          addr(IMAGE2D<float>) a2268#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2262,iy2265);
          real4 v02249#1 = LoadVoxels<IMAGE2D<float>,4>(a2268);
          int iy225E#1 = Add<int>(_t0D75,t22267);
          addr(IMAGE2D<float>) a2261#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2262,iy225E);
          real4 v1224A#1 = LoadVoxels<IMAGE2D<float>,4>(a2261);
          int iy2257#1 = Add<int>(_t0D79,t22267);
          addr(IMAGE2D<float>) a225A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2262,iy2257);
          real4 v2224B#1 = LoadVoxels<IMAGE2D<float>,4>(a225A);
          int iy2250#1 = Add<int>(_t0D51,t22267);
          addr(IMAGE2D<float>) a2253#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2262,iy2250);
          real4 v3224C#1 = LoadVoxels<IMAGE2D<float>,4>(a2253);
          real fy2274#5 = Index<real2,1>(f2245);
          real t32279#1 = Add<real>(fy2274,_t0D4D);
          real t12277#1 = Sub<real>(fy2274,_t0D4D);
          real t02276#1 = Sub<real>(fy2274,_t0D4F);
          real4 a2275#1 = <real4>[t32279,fy2274,t12277,t02276];
          real4 hy226A#1 = EvalKernel<4,bspln3,0>(a2275);
          real fx226B#5 = Index<real2,0>(f2245);
          real t32270#1 = Add<real>(fx226B,_t0D4D);
          real t1226E#1 = Sub<real>(fx226B,_t0D4D);
          real t0226D#1 = Sub<real>(fx226B,_t0D4F);
          real4 a226C#1 = <real4>[t32270,fx226B,t1226E,t0226D];
          real4 hx2269#4 = EvalKernel<4,bspln3,0>(a226C);
          real t0227E#1 = Dot<4>(v02249,hx2269);
          real t1227F#1 = Dot<4>(v1224A,hx2269);
          real t22280#1 = Dot<4>(v2224B,hx2269);
          real t32281#1 = Dot<4>(v3224C,hx2269);
          real4 tv227D#1 = <real4>[t0227E,t1227F,t22280,t32281];
          real _t2243#1 = Dot<4>(hy226A,tv227D);
          real2 x22C1#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v190D03);
          real2 nd22C3#2 = Floor<2>(x22C1);
          real2 f22C2#2 = Sub<real2>(x22C1,nd22C3);
          int{2} n22C4#8 = RealToInt<2>(nd22C3);
          int t222E1#1 = Index<int{2},0>(n22C4);
          int ix22DF#4 = Add<int>(t12263,t222E1);
          int t222E4#4 = Index<int{2},1>(n22C4);
          int iy22E2#1 = Add<int>(t12263,t222E4);
          addr(IMAGE2D<int>) a22E5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix22DF,iy22E2);
          real4 v022C6#1 = LoadVoxels<IMAGE2D<int>,4>(a22E5);
          int iy22DB#1 = Add<int>(_t0D75,t222E4);
          addr(IMAGE2D<int>) a22DE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix22DF,iy22DB);
          real4 v122C7#1 = LoadVoxels<IMAGE2D<int>,4>(a22DE);
          int iy22D4#1 = Add<int>(_t0D79,t222E4);
          addr(IMAGE2D<int>) a22D7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix22DF,iy22D4);
          real4 v222C8#1 = LoadVoxels<IMAGE2D<int>,4>(a22D7);
          int iy22CD#1 = Add<int>(_t0D51,t222E4);
          addr(IMAGE2D<int>) a22D0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix22DF,iy22CD);
          real4 v322C9#1 = LoadVoxels<IMAGE2D<int>,4>(a22D0);
          real fy22F1#5 = Index<real2,1>(f22C2);
          real t322F6#1 = Add<real>(fy22F1,_t0D4D);
          real t122F4#1 = Sub<real>(fy22F1,_t0D4D);
          real t022F3#1 = Sub<real>(fy22F1,_t0D4F);
          real4 a22F2#1 = <real4>[t322F6,fy22F1,t122F4,t022F3];
          real4 hy22E7#1 = EvalKernel<4,bspln3,0>(a22F2);
          real fx22E8#5 = Index<real2,0>(f22C2);
          real t322ED#1 = Add<real>(fx22E8,_t0D4D);
          real t122EB#1 = Sub<real>(fx22E8,_t0D4D);
          real t022EA#1 = Sub<real>(fx22E8,_t0D4F);
          real4 a22E9#1 = <real4>[t322ED,fx22E8,t122EB,t022EA];
          real4 hx22E6#4 = EvalKernel<4,bspln3,0>(a22E9);
          real t022FB#1 = Dot<4>(v022C6,hx22E6);
          real t122FC#1 = Dot<4>(v122C7,hx22E6);
          real t222FD#1 = Dot<4>(v222C8,hx22E6);
          real t322FE#1 = Dot<4>(v322C9,hx22E6);
          real4 tv22FA#1 = <real4>[t022FB,t122FC,t222FD,t322FE];
          real _t22C0#1 = Dot<4>(hy22E7,tv22FA);
          real _t233D#2 = Sub<real>(_t2243,_t22C0);
          real _t233F#1 = Mul<real>(_t233D,_t233D);
          real score2341#1 = Add<real>(score222C,_t233F);
          goto JOIN2344
        JOIN2344:  preds = [ASSIGN2342,COND2242]
          real score2343#2 = phi(score2341,score222C)
          real _t2345#1 = Dot<2>(r00D67,v200D05);
          real _t2347#1 = Dot<2>(r10D6D,v200D05);
          real2 _t2349#1 = <real2>[_t2345,_t2347];
          real2 pos234B#2 = Add<real2>(_t2349,_t0D7D);
          real2 x234E#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos234B);
          bool _t234D#1 = Inside<IMAGE2D<float>,2>(x234E,_t0CD1);
          if _t234D then goto ASSIGN2354 else goto ASSIGN28C2
        ASSIGN2354:  preds = [COND2351]
          real2 x2353#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v200D05);
          bool _t2352#1 = Inside<IMAGE2D<int>,2>(x2353,_t0CCD);
          goto JOIN2358
        JOIN2358:  preds = [ASSIGN2355,ASSIGN28C2]
          bool _t2356#1 = phi(_t2352,_t2357)
          if _t2356 then goto ASSIGN2B7D else goto JOIN245B
        ASSIGN2B7D:  preds = [COND2359]
          real2 nd235D#2 = Floor<2>(x234E);
          real2 f235C#2 = Sub<real2>(x234E,nd235D);
          int{2} n235E#8 = RealToInt<2>(nd235D);
          int t1237A#4 = -1;
          int t2237B#1 = Index<int{2},0>(n235E);
          int ix2379#4 = Add<int>(t1237A,t2237B);
          int t2237E#4 = Index<int{2},1>(n235E);
          int iy237C#1 = Add<int>(t1237A,t2237E);
          addr(IMAGE2D<float>) a237F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2379,iy237C);
          real4 v02360#1 = LoadVoxels<IMAGE2D<float>,4>(a237F);
          int iy2375#1 = Add<int>(_t0D75,t2237E);
          addr(IMAGE2D<float>) a2378#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2379,iy2375);
          real4 v12361#1 = LoadVoxels<IMAGE2D<float>,4>(a2378);
          int iy236E#1 = Add<int>(_t0D79,t2237E);
          addr(IMAGE2D<float>) a2371#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2379,iy236E);
          real4 v22362#1 = LoadVoxels<IMAGE2D<float>,4>(a2371);
          int iy2367#1 = Add<int>(_t0D51,t2237E);
          addr(IMAGE2D<float>) a236A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2379,iy2367);
          real4 v32363#1 = LoadVoxels<IMAGE2D<float>,4>(a236A);
          real fy238B#5 = Index<real2,1>(f235C);
          real t32390#1 = Add<real>(fy238B,_t0D4D);
          real t1238E#1 = Sub<real>(fy238B,_t0D4D);
          real t0238D#1 = Sub<real>(fy238B,_t0D4F);
          real4 a238C#1 = <real4>[t32390,fy238B,t1238E,t0238D];
          real4 hy2381#1 = EvalKernel<4,bspln3,0>(a238C);
          real fx2382#5 = Index<real2,0>(f235C);
          real t32387#1 = Add<real>(fx2382,_t0D4D);
          real t12385#1 = Sub<real>(fx2382,_t0D4D);
          real t02384#1 = Sub<real>(fx2382,_t0D4F);
          real4 a2383#1 = <real4>[t32387,fx2382,t12385,t02384];
          real4 hx2380#4 = EvalKernel<4,bspln3,0>(a2383);
          real t02395#1 = Dot<4>(v02360,hx2380);
          real t12396#1 = Dot<4>(v12361,hx2380);
          real t22397#1 = Dot<4>(v22362,hx2380);
          real t32398#1 = Dot<4>(v32363,hx2380);
          real4 tv2394#1 = <real4>[t02395,t12396,t22397,t32398];
          real _t235A#1 = Dot<4>(hy2381,tv2394);
          real2 x23D8#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v200D05);
          real2 nd23DA#2 = Floor<2>(x23D8);
          real2 f23D9#2 = Sub<real2>(x23D8,nd23DA);
          int{2} n23DB#8 = RealToInt<2>(nd23DA);
          int t223F8#1 = Index<int{2},0>(n23DB);
          int ix23F6#4 = Add<int>(t1237A,t223F8);
          int t223FB#4 = Index<int{2},1>(n23DB);
          int iy23F9#1 = Add<int>(t1237A,t223FB);
          addr(IMAGE2D<int>) a23FC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix23F6,iy23F9);
          real4 v023DD#1 = LoadVoxels<IMAGE2D<int>,4>(a23FC);
          int iy23F2#1 = Add<int>(_t0D75,t223FB);
          addr(IMAGE2D<int>) a23F5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix23F6,iy23F2);
          real4 v123DE#1 = LoadVoxels<IMAGE2D<int>,4>(a23F5);
          int iy23EB#1 = Add<int>(_t0D79,t223FB);
          addr(IMAGE2D<int>) a23EE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix23F6,iy23EB);
          real4 v223DF#1 = LoadVoxels<IMAGE2D<int>,4>(a23EE);
          int iy23E4#1 = Add<int>(_t0D51,t223FB);
          addr(IMAGE2D<int>) a23E7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix23F6,iy23E4);
          real4 v323E0#1 = LoadVoxels<IMAGE2D<int>,4>(a23E7);
          real fy2408#5 = Index<real2,1>(f23D9);
          real t3240D#1 = Add<real>(fy2408,_t0D4D);
          real t1240B#1 = Sub<real>(fy2408,_t0D4D);
          real t0240A#1 = Sub<real>(fy2408,_t0D4F);
          real4 a2409#1 = <real4>[t3240D,fy2408,t1240B,t0240A];
          real4 hy23FE#1 = EvalKernel<4,bspln3,0>(a2409);
          real fx23FF#5 = Index<real2,0>(f23D9);
          real t32404#1 = Add<real>(fx23FF,_t0D4D);
          real t12402#1 = Sub<real>(fx23FF,_t0D4D);
          real t02401#1 = Sub<real>(fx23FF,_t0D4F);
          real4 a2400#1 = <real4>[t32404,fx23FF,t12402,t02401];
          real4 hx23FD#4 = EvalKernel<4,bspln3,0>(a2400);
          real t02412#1 = Dot<4>(v023DD,hx23FD);
          real t12413#1 = Dot<4>(v123DE,hx23FD);
          real t22414#1 = Dot<4>(v223DF,hx23FD);
          real t32415#1 = Dot<4>(v323E0,hx23FD);
          real4 tv2411#1 = <real4>[t02412,t12413,t22414,t32415];
          real _t23D7#1 = Dot<4>(hy23FE,tv2411);
          real _t2454#2 = Sub<real>(_t235A,_t23D7);
          real _t2456#1 = Mul<real>(_t2454,_t2454);
          real score2458#1 = Add<real>(score2343,_t2456);
          goto JOIN245B
        JOIN245B:  preds = [ASSIGN2459,COND2359]
          real score245A#2 = phi(score2458,score2343)
          real _t245C#1 = Dot<2>(r00D67,v210D07);
          real _t245E#1 = Dot<2>(r10D6D,v210D07);
          real2 _t2460#1 = <real2>[_t245C,_t245E];
          real2 pos2462#2 = Add<real2>(_t2460,_t0D7D);
          real2 x2465#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2462);
          bool _t2464#1 = Inside<IMAGE2D<float>,2>(x2465,_t0CD1);
          if _t2464 then goto ASSIGN246B else goto ASSIGN28C1
        ASSIGN246B:  preds = [COND2468]
          real2 x246A#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v210D07);
          bool _t2469#1 = Inside<IMAGE2D<int>,2>(x246A,_t0CCD);
          goto JOIN246F
        JOIN246F:  preds = [ASSIGN246C,ASSIGN28C1]
          bool _t246D#1 = phi(_t2469,_t246E)
          if _t246D then goto ASSIGN2B9E else goto JOIN2572
        ASSIGN2B9E:  preds = [COND2470]
          real2 nd2474#2 = Floor<2>(x2465);
          real2 f2473#2 = Sub<real2>(x2465,nd2474);
          int{2} n2475#8 = RealToInt<2>(nd2474);
          int t12491#4 = -1;
          int t22492#1 = Index<int{2},0>(n2475);
          int ix2490#4 = Add<int>(t12491,t22492);
          int t22495#4 = Index<int{2},1>(n2475);
          int iy2493#1 = Add<int>(t12491,t22495);
          addr(IMAGE2D<float>) a2496#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2490,iy2493);
          real4 v02477#1 = LoadVoxels<IMAGE2D<float>,4>(a2496);
          int iy248C#1 = Add<int>(_t0D75,t22495);
          addr(IMAGE2D<float>) a248F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2490,iy248C);
          real4 v12478#1 = LoadVoxels<IMAGE2D<float>,4>(a248F);
          int iy2485#1 = Add<int>(_t0D79,t22495);
          addr(IMAGE2D<float>) a2488#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2490,iy2485);
          real4 v22479#1 = LoadVoxels<IMAGE2D<float>,4>(a2488);
          int iy247E#1 = Add<int>(_t0D51,t22495);
          addr(IMAGE2D<float>) a2481#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix2490,iy247E);
          real4 v3247A#1 = LoadVoxels<IMAGE2D<float>,4>(a2481);
          real fy24A2#5 = Index<real2,1>(f2473);
          real t324A7#1 = Add<real>(fy24A2,_t0D4D);
          real t124A5#1 = Sub<real>(fy24A2,_t0D4D);
          real t024A4#1 = Sub<real>(fy24A2,_t0D4F);
          real4 a24A3#1 = <real4>[t324A7,fy24A2,t124A5,t024A4];
          real4 hy2498#1 = EvalKernel<4,bspln3,0>(a24A3);
          real fx2499#5 = Index<real2,0>(f2473);
          real t3249E#1 = Add<real>(fx2499,_t0D4D);
          real t1249C#1 = Sub<real>(fx2499,_t0D4D);
          real t0249B#1 = Sub<real>(fx2499,_t0D4F);
          real4 a249A#1 = <real4>[t3249E,fx2499,t1249C,t0249B];
          real4 hx2497#4 = EvalKernel<4,bspln3,0>(a249A);
          real t024AC#1 = Dot<4>(v02477,hx2497);
          real t124AD#1 = Dot<4>(v12478,hx2497);
          real t224AE#1 = Dot<4>(v22479,hx2497);
          real t324AF#1 = Dot<4>(v3247A,hx2497);
          real4 tv24AB#1 = <real4>[t024AC,t124AD,t224AE,t324AF];
          real _t2471#1 = Dot<4>(hy2498,tv24AB);
          real2 x24EF#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v210D07);
          real2 nd24F1#2 = Floor<2>(x24EF);
          real2 f24F0#2 = Sub<real2>(x24EF,nd24F1);
          int{2} n24F2#8 = RealToInt<2>(nd24F1);
          int t2250F#1 = Index<int{2},0>(n24F2);
          int ix250D#4 = Add<int>(t12491,t2250F);
          int t22512#4 = Index<int{2},1>(n24F2);
          int iy2510#1 = Add<int>(t12491,t22512);
          addr(IMAGE2D<int>) a2513#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix250D,iy2510);
          real4 v024F4#1 = LoadVoxels<IMAGE2D<int>,4>(a2513);
          int iy2509#1 = Add<int>(_t0D75,t22512);
          addr(IMAGE2D<int>) a250C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix250D,iy2509);
          real4 v124F5#1 = LoadVoxels<IMAGE2D<int>,4>(a250C);
          int iy2502#1 = Add<int>(_t0D79,t22512);
          addr(IMAGE2D<int>) a2505#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix250D,iy2502);
          real4 v224F6#1 = LoadVoxels<IMAGE2D<int>,4>(a2505);
          int iy24FB#1 = Add<int>(_t0D51,t22512);
          addr(IMAGE2D<int>) a24FE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix250D,iy24FB);
          real4 v324F7#1 = LoadVoxels<IMAGE2D<int>,4>(a24FE);
          real fy251F#5 = Index<real2,1>(f24F0);
          real t32524#1 = Add<real>(fy251F,_t0D4D);
          real t12522#1 = Sub<real>(fy251F,_t0D4D);
          real t02521#1 = Sub<real>(fy251F,_t0D4F);
          real4 a2520#1 = <real4>[t32524,fy251F,t12522,t02521];
          real4 hy2515#1 = EvalKernel<4,bspln3,0>(a2520);
          real fx2516#5 = Index<real2,0>(f24F0);
          real t3251B#1 = Add<real>(fx2516,_t0D4D);
          real t12519#1 = Sub<real>(fx2516,_t0D4D);
          real t02518#1 = Sub<real>(fx2516,_t0D4F);
          real4 a2517#1 = <real4>[t3251B,fx2516,t12519,t02518];
          real4 hx2514#4 = EvalKernel<4,bspln3,0>(a2517);
          real t02529#1 = Dot<4>(v024F4,hx2514);
          real t1252A#1 = Dot<4>(v124F5,hx2514);
          real t2252B#1 = Dot<4>(v224F6,hx2514);
          real t3252C#1 = Dot<4>(v324F7,hx2514);
          real4 tv2528#1 = <real4>[t02529,t1252A,t2252B,t3252C];
          real _t24EE#1 = Dot<4>(hy2515,tv2528);
          real _t256B#2 = Sub<real>(_t2471,_t24EE);
          real _t256D#1 = Mul<real>(_t256B,_t256B);
          real score256F#1 = Add<real>(score245A,_t256D);
          goto JOIN2572
        JOIN2572:  preds = [ASSIGN2570,COND2470]
          real score2571#2 = phi(score256F,score245A)
          real _t2573#1 = Dot<2>(r00D67,v220D09);
          real _t2575#1 = Dot<2>(r10D6D,v220D09);
          real2 _t2577#1 = <real2>[_t2573,_t2575];
          real2 pos2579#2 = Add<real2>(_t2577,_t0D7D);
          real2 x257C#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2579);
          bool _t257B#1 = Inside<IMAGE2D<float>,2>(x257C,_t0CD1);
          if _t257B then goto ASSIGN2582 else goto ASSIGN28C0
        ASSIGN2582:  preds = [COND257F]
          real2 x2581#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v220D09);
          bool _t2580#1 = Inside<IMAGE2D<int>,2>(x2581,_t0CCD);
          goto JOIN2586
        JOIN2586:  preds = [ASSIGN2583,ASSIGN28C0]
          bool _t2584#1 = phi(_t2580,_t2585)
          if _t2584 then goto ASSIGN2BBF else goto JOIN2689
        ASSIGN2BBF:  preds = [COND2587]
          real2 nd258B#2 = Floor<2>(x257C);
          real2 f258A#2 = Sub<real2>(x257C,nd258B);
          int{2} n258C#8 = RealToInt<2>(nd258B);
          int t125A8#4 = -1;
          int t225A9#1 = Index<int{2},0>(n258C);
          int ix25A7#4 = Add<int>(t125A8,t225A9);
          int t225AC#4 = Index<int{2},1>(n258C);
          int iy25AA#1 = Add<int>(t125A8,t225AC);
          addr(IMAGE2D<float>) a25AD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix25A7,iy25AA);
          real4 v0258E#1 = LoadVoxels<IMAGE2D<float>,4>(a25AD);
          int iy25A3#1 = Add<int>(_t0D75,t225AC);
          addr(IMAGE2D<float>) a25A6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix25A7,iy25A3);
          real4 v1258F#1 = LoadVoxels<IMAGE2D<float>,4>(a25A6);
          int iy259C#1 = Add<int>(_t0D79,t225AC);
          addr(IMAGE2D<float>) a259F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix25A7,iy259C);
          real4 v22590#1 = LoadVoxels<IMAGE2D<float>,4>(a259F);
          int iy2595#1 = Add<int>(_t0D51,t225AC);
          addr(IMAGE2D<float>) a2598#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix25A7,iy2595);
          real4 v32591#1 = LoadVoxels<IMAGE2D<float>,4>(a2598);
          real fy25B9#5 = Index<real2,1>(f258A);
          real t325BE#1 = Add<real>(fy25B9,_t0D4D);
          real t125BC#1 = Sub<real>(fy25B9,_t0D4D);
          real t025BB#1 = Sub<real>(fy25B9,_t0D4F);
          real4 a25BA#1 = <real4>[t325BE,fy25B9,t125BC,t025BB];
          real4 hy25AF#1 = EvalKernel<4,bspln3,0>(a25BA);
          real fx25B0#5 = Index<real2,0>(f258A);
          real t325B5#1 = Add<real>(fx25B0,_t0D4D);
          real t125B3#1 = Sub<real>(fx25B0,_t0D4D);
          real t025B2#1 = Sub<real>(fx25B0,_t0D4F);
          real4 a25B1#1 = <real4>[t325B5,fx25B0,t125B3,t025B2];
          real4 hx25AE#4 = EvalKernel<4,bspln3,0>(a25B1);
          real t025C3#1 = Dot<4>(v0258E,hx25AE);
          real t125C4#1 = Dot<4>(v1258F,hx25AE);
          real t225C5#1 = Dot<4>(v22590,hx25AE);
          real t325C6#1 = Dot<4>(v32591,hx25AE);
          real4 tv25C2#1 = <real4>[t025C3,t125C4,t225C5,t325C6];
          real _t2588#1 = Dot<4>(hy25AF,tv25C2);
          real2 x2606#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v220D09);
          real2 nd2608#2 = Floor<2>(x2606);
          real2 f2607#2 = Sub<real2>(x2606,nd2608);
          int{2} n2609#8 = RealToInt<2>(nd2608);
          int t22626#1 = Index<int{2},0>(n2609);
          int ix2624#4 = Add<int>(t125A8,t22626);
          int t22629#4 = Index<int{2},1>(n2609);
          int iy2627#1 = Add<int>(t125A8,t22629);
          addr(IMAGE2D<int>) a262A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2624,iy2627);
          real4 v0260B#1 = LoadVoxels<IMAGE2D<int>,4>(a262A);
          int iy2620#1 = Add<int>(_t0D75,t22629);
          addr(IMAGE2D<int>) a2623#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2624,iy2620);
          real4 v1260C#1 = LoadVoxels<IMAGE2D<int>,4>(a2623);
          int iy2619#1 = Add<int>(_t0D79,t22629);
          addr(IMAGE2D<int>) a261C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2624,iy2619);
          real4 v2260D#1 = LoadVoxels<IMAGE2D<int>,4>(a261C);
          int iy2612#1 = Add<int>(_t0D51,t22629);
          addr(IMAGE2D<int>) a2615#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2624,iy2612);
          real4 v3260E#1 = LoadVoxels<IMAGE2D<int>,4>(a2615);
          real fy2636#5 = Index<real2,1>(f2607);
          real t3263B#1 = Add<real>(fy2636,_t0D4D);
          real t12639#1 = Sub<real>(fy2636,_t0D4D);
          real t02638#1 = Sub<real>(fy2636,_t0D4F);
          real4 a2637#1 = <real4>[t3263B,fy2636,t12639,t02638];
          real4 hy262C#1 = EvalKernel<4,bspln3,0>(a2637);
          real fx262D#5 = Index<real2,0>(f2607);
          real t32632#1 = Add<real>(fx262D,_t0D4D);
          real t12630#1 = Sub<real>(fx262D,_t0D4D);
          real t0262F#1 = Sub<real>(fx262D,_t0D4F);
          real4 a262E#1 = <real4>[t32632,fx262D,t12630,t0262F];
          real4 hx262B#4 = EvalKernel<4,bspln3,0>(a262E);
          real t02640#1 = Dot<4>(v0260B,hx262B);
          real t12641#1 = Dot<4>(v1260C,hx262B);
          real t22642#1 = Dot<4>(v2260D,hx262B);
          real t32643#1 = Dot<4>(v3260E,hx262B);
          real4 tv263F#1 = <real4>[t02640,t12641,t22642,t32643];
          real _t2605#1 = Dot<4>(hy262C,tv263F);
          real _t2682#2 = Sub<real>(_t2588,_t2605);
          real _t2684#1 = Mul<real>(_t2682,_t2682);
          real score2686#1 = Add<real>(score2571,_t2684);
          goto JOIN2689
        JOIN2689:  preds = [ASSIGN2687,COND2587]
          real score2688#2 = phi(score2686,score2571)
          real _t268A#1 = Dot<2>(r00D67,v230D0B);
          real _t268C#1 = Dot<2>(r10D6D,v230D0B);
          real2 _t268E#1 = <real2>[_t268A,_t268C];
          real2 pos2690#2 = Add<real2>(_t268E,_t0D7D);
          real2 x2693#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos2690);
          bool _t2692#1 = Inside<IMAGE2D<float>,2>(x2693,_t0CD1);
          if _t2692 then goto ASSIGN2699 else goto ASSIGN28BF
        ASSIGN2699:  preds = [COND2696]
          real2 x2698#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v230D0B);
          bool _t2697#1 = Inside<IMAGE2D<int>,2>(x2698,_t0CCD);
          goto JOIN269D
        JOIN269D:  preds = [ASSIGN269A,ASSIGN28BF]
          bool _t269B#1 = phi(_t2697,_t269C)
          if _t269B then goto ASSIGN2BE0 else goto JOIN27A0
        ASSIGN2BE0:  preds = [COND269E]
          real2 nd26A2#2 = Floor<2>(x2693);
          real2 f26A1#2 = Sub<real2>(x2693,nd26A2);
          int{2} n26A3#8 = RealToInt<2>(nd26A2);
          int t126BF#4 = -1;
          int t226C0#1 = Index<int{2},0>(n26A3);
          int ix26BE#4 = Add<int>(t126BF,t226C0);
          int t226C3#4 = Index<int{2},1>(n26A3);
          int iy26C1#1 = Add<int>(t126BF,t226C3);
          addr(IMAGE2D<float>) a26C4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix26BE,iy26C1);
          real4 v026A5#1 = LoadVoxels<IMAGE2D<float>,4>(a26C4);
          int iy26BA#1 = Add<int>(_t0D75,t226C3);
          addr(IMAGE2D<float>) a26BD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix26BE,iy26BA);
          real4 v126A6#1 = LoadVoxels<IMAGE2D<float>,4>(a26BD);
          int iy26B3#1 = Add<int>(_t0D79,t226C3);
          addr(IMAGE2D<float>) a26B6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix26BE,iy26B3);
          real4 v226A7#1 = LoadVoxels<IMAGE2D<float>,4>(a26B6);
          int iy26AC#1 = Add<int>(_t0D51,t226C3);
          addr(IMAGE2D<float>) a26AF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix26BE,iy26AC);
          real4 v326A8#1 = LoadVoxels<IMAGE2D<float>,4>(a26AF);
          real fy26D0#5 = Index<real2,1>(f26A1);
          real t326D5#1 = Add<real>(fy26D0,_t0D4D);
          real t126D3#1 = Sub<real>(fy26D0,_t0D4D);
          real t026D2#1 = Sub<real>(fy26D0,_t0D4F);
          real4 a26D1#1 = <real4>[t326D5,fy26D0,t126D3,t026D2];
          real4 hy26C6#1 = EvalKernel<4,bspln3,0>(a26D1);
          real fx26C7#5 = Index<real2,0>(f26A1);
          real t326CC#1 = Add<real>(fx26C7,_t0D4D);
          real t126CA#1 = Sub<real>(fx26C7,_t0D4D);
          real t026C9#1 = Sub<real>(fx26C7,_t0D4F);
          real4 a26C8#1 = <real4>[t326CC,fx26C7,t126CA,t026C9];
          real4 hx26C5#4 = EvalKernel<4,bspln3,0>(a26C8);
          real t026DA#1 = Dot<4>(v026A5,hx26C5);
          real t126DB#1 = Dot<4>(v126A6,hx26C5);
          real t226DC#1 = Dot<4>(v226A7,hx26C5);
          real t326DD#1 = Dot<4>(v326A8,hx26C5);
          real4 tv26D9#1 = <real4>[t026DA,t126DB,t226DC,t326DD];
          real _t269F#1 = Dot<4>(hy26C6,tv26D9);
          real2 x271D#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v230D0B);
          real2 nd271F#2 = Floor<2>(x271D);
          real2 f271E#2 = Sub<real2>(x271D,nd271F);
          int{2} n2720#8 = RealToInt<2>(nd271F);
          int t2273D#1 = Index<int{2},0>(n2720);
          int ix273B#4 = Add<int>(t126BF,t2273D);
          int t22740#4 = Index<int{2},1>(n2720);
          int iy273E#1 = Add<int>(t126BF,t22740);
          addr(IMAGE2D<int>) a2741#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix273B,iy273E);
          real4 v02722#1 = LoadVoxels<IMAGE2D<int>,4>(a2741);
          int iy2737#1 = Add<int>(_t0D75,t22740);
          addr(IMAGE2D<int>) a273A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix273B,iy2737);
          real4 v12723#1 = LoadVoxels<IMAGE2D<int>,4>(a273A);
          int iy2730#1 = Add<int>(_t0D79,t22740);
          addr(IMAGE2D<int>) a2733#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix273B,iy2730);
          real4 v22724#1 = LoadVoxels<IMAGE2D<int>,4>(a2733);
          int iy2729#1 = Add<int>(_t0D51,t22740);
          addr(IMAGE2D<int>) a272C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix273B,iy2729);
          real4 v32725#1 = LoadVoxels<IMAGE2D<int>,4>(a272C);
          real fy274D#5 = Index<real2,1>(f271E);
          real t32752#1 = Add<real>(fy274D,_t0D4D);
          real t12750#1 = Sub<real>(fy274D,_t0D4D);
          real t0274F#1 = Sub<real>(fy274D,_t0D4F);
          real4 a274E#1 = <real4>[t32752,fy274D,t12750,t0274F];
          real4 hy2743#1 = EvalKernel<4,bspln3,0>(a274E);
          real fx2744#5 = Index<real2,0>(f271E);
          real t32749#1 = Add<real>(fx2744,_t0D4D);
          real t12747#1 = Sub<real>(fx2744,_t0D4D);
          real t02746#1 = Sub<real>(fx2744,_t0D4F);
          real4 a2745#1 = <real4>[t32749,fx2744,t12747,t02746];
          real4 hx2742#4 = EvalKernel<4,bspln3,0>(a2745);
          real t02757#1 = Dot<4>(v02722,hx2742);
          real t12758#1 = Dot<4>(v12723,hx2742);
          real t22759#1 = Dot<4>(v22724,hx2742);
          real t3275A#1 = Dot<4>(v32725,hx2742);
          real4 tv2756#1 = <real4>[t02757,t12758,t22759,t3275A];
          real _t271C#1 = Dot<4>(hy2743,tv2756);
          real _t2799#2 = Sub<real>(_t269F,_t271C);
          real _t279B#1 = Mul<real>(_t2799,_t2799);
          real score279D#1 = Add<real>(score2688,_t279B);
          goto JOIN27A0
        JOIN27A0:  preds = [ASSIGN279E,COND269E]
          real score279F#2 = phi(score279D,score2688)
          real _t27A1#1 = Dot<2>(r00D67,v240D0D);
          real _t27A3#1 = Dot<2>(r10D6D,v240D0D);
          real2 _t27A5#1 = <real2>[_t27A1,_t27A3];
          real2 pos27A7#3 = Add<real2>(_t27A5,_t0D7D);
          real2 x27AA#3 = PosToImgSpace<IMAGE2D<float>>(_t0CD1,pos27A7);
          bool _t27A9#1 = Inside<IMAGE2D<float>,2>(x27AA,_t0CD1);
          if _t27A9 then goto ASSIGN27B0 else goto ASSIGN28BE
        ASSIGN27B0:  preds = [COND27AD]
          real2 x27AF#1 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v240D0D);
          bool _t27AE#1 = Inside<IMAGE2D<int>,2>(x27AF,_t0CCD);
          goto JOIN27B4
        JOIN27B4:  preds = [ASSIGN27B1,ASSIGN28BE]
          bool _t27B2#1 = phi(_t27AE,_t27B3)
          if _t27B2 then goto ASSIGN2C01 else goto JOIN28B7
        ASSIGN2C01:  preds = [COND27B5]
          real2 nd27B9#2 = Floor<2>(x27AA);
          real2 f27B8#2 = Sub<real2>(x27AA,nd27B9);
          int{2} n27BA#8 = RealToInt<2>(nd27B9);
          int t127D6#4 = -1;
          int t227D7#1 = Index<int{2},0>(n27BA);
          int ix27D5#4 = Add<int>(t127D6,t227D7);
          int t227DA#4 = Index<int{2},1>(n27BA);
          int iy27D8#1 = Add<int>(t127D6,t227DA);
          addr(IMAGE2D<float>) a27DB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix27D5,iy27D8);
          real4 v027BC#1 = LoadVoxels<IMAGE2D<float>,4>(a27DB);
          int iy27D1#1 = Add<int>(_t0D75,t227DA);
          addr(IMAGE2D<float>) a27D4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix27D5,iy27D1);
          real4 v127BD#1 = LoadVoxels<IMAGE2D<float>,4>(a27D4);
          int iy27CA#1 = Add<int>(_t0D79,t227DA);
          addr(IMAGE2D<float>) a27CD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix27D5,iy27CA);
          real4 v227BE#1 = LoadVoxels<IMAGE2D<float>,4>(a27CD);
          int iy27C3#1 = Add<int>(_t0D51,t227DA);
          addr(IMAGE2D<float>) a27C6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0CD1,ix27D5,iy27C3);
          real4 v327BF#1 = LoadVoxels<IMAGE2D<float>,4>(a27C6);
          real fy27E7#5 = Index<real2,1>(f27B8);
          real t327EC#1 = Add<real>(fy27E7,_t0D4D);
          real t127EA#1 = Sub<real>(fy27E7,_t0D4D);
          real t027E9#1 = Sub<real>(fy27E7,_t0D4F);
          real4 a27E8#1 = <real4>[t327EC,fy27E7,t127EA,t027E9];
          real4 hy27DD#1 = EvalKernel<4,bspln3,0>(a27E8);
          real fx27DE#5 = Index<real2,0>(f27B8);
          real t327E3#1 = Add<real>(fx27DE,_t0D4D);
          real t127E1#1 = Sub<real>(fx27DE,_t0D4D);
          real t027E0#1 = Sub<real>(fx27DE,_t0D4F);
          real4 a27DF#1 = <real4>[t327E3,fx27DE,t127E1,t027E0];
          real4 hx27DC#4 = EvalKernel<4,bspln3,0>(a27DF);
          real t027F1#1 = Dot<4>(v027BC,hx27DC);
          real t127F2#1 = Dot<4>(v127BD,hx27DC);
          real t227F3#1 = Dot<4>(v227BE,hx27DC);
          real t327F4#1 = Dot<4>(v327BF,hx27DC);
          real4 tv27F0#1 = <real4>[t027F1,t127F2,t227F3,t327F4];
          real _t27B6#1 = Dot<4>(hy27DD,tv27F0);
          real2 x2834#2 = PosToImgSpace<IMAGE2D<int>>(_t0CCD,v240D0D);
          real2 nd2836#2 = Floor<2>(x2834);
          real2 f2835#2 = Sub<real2>(x2834,nd2836);
          int{2} n2837#8 = RealToInt<2>(nd2836);
          int t22854#1 = Index<int{2},0>(n2837);
          int ix2852#4 = Add<int>(t127D6,t22854);
          int t22857#4 = Index<int{2},1>(n2837);
          int iy2855#1 = Add<int>(t127D6,t22857);
          addr(IMAGE2D<int>) a2858#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2852,iy2855);
          real4 v02839#1 = LoadVoxels<IMAGE2D<int>,4>(a2858);
          int iy284E#1 = Add<int>(_t0D75,t22857);
          addr(IMAGE2D<int>) a2851#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2852,iy284E);
          real4 v1283A#1 = LoadVoxels<IMAGE2D<int>,4>(a2851);
          int iy2847#1 = Add<int>(_t0D79,t22857);
          addr(IMAGE2D<int>) a284A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2852,iy2847);
          real4 v2283B#1 = LoadVoxels<IMAGE2D<int>,4>(a284A);
          int iy2840#1 = Add<int>(_t0D51,t22857);
          addr(IMAGE2D<int>) a2843#1 = VoxelAddress<IMAGE2D<int>,0>(_t0CCD,ix2852,iy2840);
          real4 v3283C#1 = LoadVoxels<IMAGE2D<int>,4>(a2843);
          real fy2864#5 = Index<real2,1>(f2835);
          real t32869#1 = Add<real>(fy2864,_t0D4D);
          real t12867#1 = Sub<real>(fy2864,_t0D4D);
          real t02866#1 = Sub<real>(fy2864,_t0D4F);
          real4 a2865#1 = <real4>[t32869,fy2864,t12867,t02866];
          real4 hy285A#1 = EvalKernel<4,bspln3,0>(a2865);
          real fx285B#5 = Index<real2,0>(f2835);
          real t32860#1 = Add<real>(fx285B,_t0D4D);
          real t1285E#1 = Sub<real>(fx285B,_t0D4D);
          real t0285D#1 = Sub<real>(fx285B,_t0D4F);
          real4 a285C#1 = <real4>[t32860,fx285B,t1285E,t0285D];
          real4 hx2859#4 = EvalKernel<4,bspln3,0>(a285C);
          real t0286E#1 = Dot<4>(v02839,hx2859);
          real t1286F#1 = Dot<4>(v1283A,hx2859);
          real t22870#1 = Dot<4>(v2283B,hx2859);
          real t32871#1 = Dot<4>(v3283C,hx2859);
          real4 tv286D#1 = <real4>[t0286E,t1286F,t22870,t32871];
          real _t2833#1 = Dot<4>(hy285A,tv286D);
          real _t28B0#2 = Sub<real>(_t27B6,_t2833);
          real _t28B2#1 = Mul<real>(_t28B0,_t28B0);
          real score28B4#1 = Add<real>(score279F,_t28B2);
          goto JOIN28B7
        JOIN28B7:  preds = [ASSIGN28B5,COND27B5]
          real score28B6#1 = phi(score28B4,score279F)
          self.t = t0D49;
          self.score = score28B6;
          self.r0 = r00D67;
          self.r1 = r10D6D;
          self.pos = pos27A7;
          stabilize ()
        ASSIGN28BE:  preds = [COND27AD]
          bool _t27B3#1 = false;
          goto JOIN27B4
        ASSIGN28BF:  preds = [COND2696]
          bool _t269C#1 = false;
          goto JOIN269D
        ASSIGN28C0:  preds = [COND257F]
          bool _t2585#1 = false;
          goto JOIN2586
        ASSIGN28C1:  preds = [COND2468]
          bool _t246E#1 = false;
          goto JOIN246F
        ASSIGN28C2:  preds = [COND2351]
          bool _t2357#1 = false;
          goto JOIN2358
        ASSIGN28C3:  preds = [COND223A]
          bool _t2240#1 = false;
          goto JOIN2241
        ASSIGN28C4:  preds = [COND2123]
          bool _t2129#1 = false;
          goto JOIN212A
        ASSIGN28C5:  preds = [COND200C]
          bool _t2012#1 = false;
          goto JOIN2013
        ASSIGN28C6:  preds = [COND1EF5]
          bool _t1EFB#1 = false;
          goto JOIN1EFC
        ASSIGN28C7:  preds = [COND1DDE]
          bool _t1DE4#1 = false;
          goto JOIN1DE5
        ASSIGN28C8:  preds = [COND1CC7]
          bool _t1CCD#1 = false;
          goto JOIN1CCE
        ASSIGN28C9:  preds = [COND1BB0]
          bool _t1BB6#1 = false;
          goto JOIN1BB7
        ASSIGN28CA:  preds = [COND1A99]
          bool _t1A9F#1 = false;
          goto JOIN1AA0
        ASSIGN28CB:  preds = [COND1982]
          bool _t1988#1 = false;
          goto JOIN1989
        ASSIGN28CC:  preds = [COND186B]
          bool _t1871#1 = false;
          goto JOIN1872
        ASSIGN28CD:  preds = [COND1754]
          bool _t175A#1 = false;
          goto JOIN175B
        ASSIGN28CE:  preds = [COND163D]
          bool _t1643#1 = false;
          goto JOIN1644
        ASSIGN28CF:  preds = [COND1526]
          bool _t152C#1 = false;
          goto JOIN152D
        ASSIGN28D0:  preds = [COND140F]
          bool _t1415#1 = false;
          goto JOIN1416
        ASSIGN28D1:  preds = [COND12F8]
          bool _t12FE#1 = false;
          goto JOIN12FF
        ASSIGN28D2:  preds = [COND11E1]
          bool _t11E7#1 = false;
          goto JOIN11E8
        ASSIGN28D3:  preds = [COND10CA]
          bool _t10D0#1 = false;
          goto JOIN10D1
        ASSIGN28D4:  preds = [COND0FB3]
          bool _t0FB9#1 = false;
          goto JOIN0FBA
        ASSIGN28D5:  preds = [COND0E9C]
          bool _t0EA2#1 = false;
          goto JOIN0EA3
        ASSIGN28D6:  preds = [COND0D85]
          bool _t0D8B#1 = false;
          goto JOIN0D8C
    end Update
    method Stabilize
        ENTRY28D8:  preds = []
          real3 t28D9#1 = self.t;
          real score28DB#1 = self.score;
          real2 r028DD#1 = self.r0;
          real2 r128DF#1 = self.r1;
          real2 pos28E1#1 = self.pos;
          self.t = t28D9;
          self.score = score28DB;
          self.r0 = r028DD;
          self.r1 = r128DF;
          self.pos = pos28E1;
          return ()
    end Stabilize
  end R
#### end program ####
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
##### LowIL after value numbering ####
## properties
  none
## globals
  global int T2C67#0
  global int F2C68#0
  global real2 v002C2D#4
  global real2 v012C31#4
  global real2 v022C35#4
  global real2 v032C39#4
  global real2 v042C3D#4
  global real2 v052C3F#4
  global real2 v062C41#4
  global real2 v072C43#4
  global real2 v082C45#4
  global real2 v092C47#4
  global real2 v102C49#4
  global real2 v112C4B#4
  global real2 v122C4D#4
  global real2 v132C4F#4
  global real2 v142C51#4
  global real2 v152C53#4
  global real2 v162C55#4
  global real2 v172C57#4
  global real2 v182C59#4
  global real2 v192C5B#4
  global real2 v202C5D#4
  global real2 v212C5F#4
  global real2 v222C61#4
  global real2 v232C63#4
  global real2 v242C65#4
  global string _t2C23#1
  global image(IMAGE2D<int>) _t2C25#175
  global int _t2C69#0
  global string _t2C27#1
  global image(IMAGE2D<float>) _t2C29#150
  global real _t2C2B#10
  global real _t2C2F#11
  global real _t2C37#10
  global real _t2C33#11
  global real _t2C3B#10
## global initialization
  ENTRY2C22:  preds = []
    string _t2C23#1 = "square-template.nrrd";
    image(IMAGE2D<int>) _t2C25#175 = LoadImage<IMAGE2D<int>>(_t2C23);
    string _t2C27#1 = "square-rotate.nrrd";
    image(IMAGE2D<float>) _t2C29#150 = LoadImage<IMAGE2D<float>>(_t2C27);
    real _t2C2B#10 = 0.0;
    real2 v002C2D#4 = <real2>[_t2C2B,_t2C2B];
    real _t2C2F#11 = 0.25e0;
    real2 v012C31#4 = <real2>[_t2C2B,_t2C2F];
    real _t2C33#11 = 0.5e0;
    real2 v022C35#4 = <real2>[_t2C2B,_t2C33];
    real _t2C37#10 = Neg<real>(_t2C2F);
    real2 v032C39#4 = <real2>[_t2C2B,_t2C37];
    real _t2C3B#10 = Neg<real>(_t2C33);
    real2 v042C3D#4 = <real2>[_t2C2B,_t2C3B];
    real2 v052C3F#4 = <real2>[_t2C2F,_t2C2B];
    real2 v062C41#4 = <real2>[_t2C2F,_t2C2F];
    real2 v072C43#4 = <real2>[_t2C2F,_t2C33];
    real2 v082C45#4 = <real2>[_t2C2F,_t2C37];
    real2 v092C47#4 = <real2>[_t2C2F,_t2C3B];
    real2 v102C49#4 = <real2>[_t2C33,_t2C2B];
    real2 v112C4B#4 = <real2>[_t2C33,_t2C2F];
    real2 v122C4D#4 = <real2>[_t2C33,_t2C33];
    real2 v132C4F#4 = <real2>[_t2C33,_t2C37];
    real2 v142C51#4 = <real2>[_t2C33,_t2C3B];
    real2 v152C53#4 = <real2>[_t2C37,_t2C2B];
    real2 v162C55#4 = <real2>[_t2C37,_t2C2F];
    real2 v172C57#4 = <real2>[_t2C37,_t2C33];
    real2 v182C59#4 = <real2>[_t2C37,_t2C37];
    real2 v192C5B#4 = <real2>[_t2C37,_t2C3B];
    real2 v202C5D#4 = <real2>[_t2C3B,_t2C2B];
    real2 v212C5F#4 = <real2>[_t2C3B,_t2C2F];
    real2 v222C61#4 = <real2>[_t2C3B,_t2C33];
    real2 v232C63#4 = <real2>[_t2C3B,_t2C37];
    real2 v242C65#4 = <real2>[_t2C3B,_t2C3B];
    return (T2C67,F2C68,v002C2D,v012C31,v022C35,v032C39,v042C3D,v052C3F,v062C41,v072C43,v082C45,v092C47,v102C49,v112C4B,v122C4D,v132C4F,v142C51,v152C53,v162C55,v172C57,v182C59,v192C5B,v202C5D,v212C5F,v222C61,v232C63,v242C65,_t2C23,_t2C25,_t2C69,_t2C27,_t2C29,_t2C2B,_t2C2F,_t2C37,_t2C33,_t2C3B)
## initially
  ARRAY
    ENTRY2C70:  preds = []
      int _t2C6C#4 = 0;
      int _t2C6D#4 = 60;
      live vars = (_t2C6D,_t2C6C)
    for int i2C6B#1 = _t2C6C .. _t2C6D
      for int j2C6E#1 = _t2C6C .. _t2C6D
        for int k2C6F#1 = _t2C6C .. _t2C6D
          ENTRY2C74:  preds = []
            live vars = ()
          new R(i2C6B,j2C6E,k2C6F);
## strands
  strand R (int i2C76#1, int j2C77#1, int k2C78#1)
    state: real3 self.t;output real self.score;real2 self.r0;real2 self.r1;real2 self.pos;
      ENTRY2C7E:  preds = []
        real _t2C7F#1 = IntToReal(i2C76);
        real _t2C81#3 = 0.60e2;
        real _t2C83#1 = Div<real>(_t2C7F,_t2C81);
        real _t2C85#3 = 0.5e0;
        real _t2C87#1 = Sub<real>(_t2C83,_t2C85);
        real _t2C89#1 = IntToReal(j2C77);
        real _t2C8B#1 = Div<real>(_t2C89,_t2C81);
        real _t2C8D#1 = Sub<real>(_t2C8B,_t2C85);
        real _t2C8F#1 = IntToReal(k2C78);
        real _t2C91#1 = Div<real>(_t2C8F,_t2C81);
        real _t2C93#1 = Sub<real>(_t2C91,_t2C85);
        real3 t2C95#1 = <real3>[_t2C87,_t2C8D,_t2C93];
        real score2C97#3 = 0.0;
        real2 r02C99#3 = <real2>[score2C97,score2C97];
        self.t = t2C95;
        self.score = score2C97;
        self.r0 = r02C99;
        self.r1 = r02C99;
        self.pos = r02C99;
        strand_init ()
    method Update
        ENTRY2CA1:  preds = []
          real3 t2CA2#4 = self.t;
          real score2CA4#2 = self.score;
          real _t2CA6#252 = 0.1e1;
          real _t2CA8#128 = 0.2e1;
          int _t2CAA#51 = 2;
          real _t2CAC#6 = Subscript<real3>(t2CA2,_t2CAA);
          real _t2CAE#1 = Mul<real>(_t2CA8,_t2CAC);
          real _t2CB0#1 = Mul<real>(_t2CAE,_t2CAC);
          real _t2CB2#2 = Sub<real>(_t2CA6,_t2CB0);
          real _t2CB4#1 = Neg<real>(_t2CA8);
          real _t2CB6#1 = Mul<real>(_t2CAC,_t2CAC);
          real _t2CB8#1 = Sub<real>(_t2CA6,_t2CB6);
          real _t2CBA#2 = sqrt(_t2CB8);
          real _t2CBC#1 = Mul<real>(_t2CB4,_t2CBA);
          real _t2CBE#1 = Mul<real>(_t2CBC,_t2CAC);
          real2 r02CC0#26 = <real2>[_t2CB2,_t2CBE];
          real _t2CC2#1 = Mul<real>(_t2CA8,_t2CBA);
          real _t2CC4#1 = Mul<real>(_t2CC2,_t2CAC);
          real2 r12CC6#26 = <real2>[_t2CC4,_t2CB2];
          real _t2CC8#1 = Dot<2>(r02CC0,v002C2D);
          real _t2CCA#1 = Dot<2>(r12CC6,v002C2D);
          real2 _t2CCC#1 = <real2>[_t2CC8,_t2CCA];
          int _t2CCE#51 = 0;
          real _t2CD0#1 = Subscript<real3>(t2CA2,_t2CCE);
          int _t2CD2#51 = 1;
          real _t2CD4#1 = Subscript<real3>(t2CA2,_t2CD2);
          real2 _t2CD6#25 = <real2>[_t2CD0,_t2CD4];
          real2 pos2CD8#1 = Add<real2>(_t2CCC,_t2CD6);
          real2 x2CDA#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos2CD8);
          bool _t2CDC#1 = Inside<IMAGE2D<float>,2>(x2CDA,_t2C29);
          if _t2CDC then goto ASSIGN2CE0 else goto ASSIGN5801
        ASSIGN2CE0:  preds = [COND2CDE]
          real2 x2CDF#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v002C2D);
          bool _t2CE1#1 = Inside<IMAGE2D<int>,2>(x2CDF,_t2C25);
          goto JOIN2CE5
        JOIN2CE5:  preds = [ASSIGN2CE2,ASSIGN5801]
          bool _t2CE3#1 = phi(_t2CE1,_t2CE4)
          if _t2CE3 then goto ASSIGN2CE8 else goto JOIN2E8A
        ASSIGN2CE8:  preds = [COND2CE6]
          real2 nd2CE7#2 = Floor<2>(x2CDA);
          real2 f2CE9#2 = Sub<real2>(x2CDA,nd2CE7);
          int{2} n2CEB#2 = RealToInt<2>(nd2CE7);
          int t12CED#4 = -1;
          int t22CEF#1 = Index<int{2},0>(n2CEB);
          int ix2CF1#4 = Add<int>(t12CED,t22CEF);
          int t22CF3#4 = Index<int{2},1>(n2CEB);
          int iy2CF5#1 = Add<int>(t12CED,t22CF3);
          int n02CF8#8 = 21;
          int t2CF9#1 = Mul<int>(n02CF8,iy2CF5);
          int index2CFA#1 = Add<int>(ix2CF1,t2CF9);
          addr(IMAGE2D<float>) imgBaseAddr2CFB#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a2CF7#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2CFB,index2CFA);
          real4 v02D01#1 = LoadVoxels<IMAGE2D<float>,4>(a2CF7);
          int iy2D03#1 = Add<int>(_t2CCE,t22CF3);
          int t2D07#1 = Mul<int>(n02CF8,iy2D03);
          int index2D08#1 = Add<int>(ix2CF1,t2D07);
          addr(IMAGE2D<float>) a2D05#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2CFB,index2D08);
          real4 v12D0F#1 = LoadVoxels<IMAGE2D<float>,4>(a2D05);
          int iy2D11#1 = Add<int>(_t2CD2,t22CF3);
          int t2D15#1 = Mul<int>(n02CF8,iy2D11);
          int index2D16#1 = Add<int>(ix2CF1,t2D15);
          addr(IMAGE2D<float>) a2D13#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2CFB,index2D16);
          real4 v22D1D#1 = LoadVoxels<IMAGE2D<float>,4>(a2D13);
          int iy2D1F#1 = Add<int>(_t2CAA,t22CF3);
          int t2D23#1 = Mul<int>(n02CF8,iy2D1F);
          int index2D24#1 = Add<int>(ix2CF1,t2D23);
          addr(IMAGE2D<float>) a2D21#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2CFB,index2D24);
          real4 v32D2B#1 = LoadVoxels<IMAGE2D<float>,4>(a2D21);
          real fy2D2D#4 = Index<real2,1>(f2CE9);
          real t32D2F#1 = Add<real>(fy2D2D,_t2CA6);
          real t12D31#1 = Sub<real>(fy2D2D,_t2CA6);
          real t02D33#1 = Sub<real>(fy2D2D,_t2CA8);
          real4 a2D35#3 = <real4>[t32D2F,fy2D2D,t12D31,t02D33];
          real _f2D48#2 = 0.133333333333e1;
          real _f2D49#2 = 0.666666666667e0;
          real4 a02D38#4 = <real4>[_f2D48,_f2D49,_f2D49,_f2D48];
          real _f2D44#1 = -0.2e1;
          real _f2D45#2 = 0.0;
          real4 a12D39#4 = <real4>[_f2D44,_f2D45,_f2D45,_t2CA8];
          real _f2D41#2 = -0.1e1;
          real4 a22D3A#4 = <real4>[_t2CA6,_f2D41,_f2D41,_t2CA6];
          real _f2D3C#1 = -0.166666666667e0;
          real _f2D3D#1 = 0.5e0;
          real _f2D3E#1 = -0.5e0;
          real _f2D3F#1 = 0.166666666667e0;
          real4 a32D3B#4 = <real4>[_f2D3C,_f2D3D,_f2D3E,_f2D3F];
          real4 prod32D4C#1 = Mul<real4>(a2D35,a32D3B);
          real4 sum22D4D#1 = Add<real4>(a22D3A,prod32D4C);
          real4 prod22D4E#1 = Mul<real4>(a2D35,sum22D4D);
          real4 sum12D4F#1 = Add<real4>(a12D39,prod22D4E);
          real4 prod12D50#1 = Mul<real4>(a2D35,sum12D4F);
          real4 hy2D37#1 = Add<real4>(a02D38,prod12D50);
          real fx2D6B#4 = Index<real2,0>(f2CE9);
          real t32D6D#1 = Add<real>(fx2D6B,_t2CA6);
          real t12D6F#1 = Sub<real>(fx2D6B,_t2CA6);
          real t02D71#1 = Sub<real>(fx2D6B,_t2CA8);
          real4 a2D73#3 = <real4>[t32D6D,fx2D6B,t12D6F,t02D71];
          real4 prod32D8A#1 = Mul<real4>(a2D73,a32D3B);
          real4 sum22D8B#1 = Add<real4>(a22D3A,prod32D8A);
          real4 prod22D8C#1 = Mul<real4>(a2D73,sum22D8B);
          real4 sum12D8D#1 = Add<real4>(a12D39,prod22D8C);
          real4 prod12D8E#1 = Mul<real4>(a2D73,sum12D8D);
          real4 hx2D75#4 = Add<real4>(a02D38,prod12D8E);
          real t02DA9#1 = Dot<4>(v02D01,hx2D75);
          real t12DAB#1 = Dot<4>(v12D0F,hx2D75);
          real t22DAD#1 = Dot<4>(v22D1D,hx2D75);
          real t32DAF#1 = Dot<4>(v32D2B,hx2D75);
          real4 tv2DB1#1 = <real4>[t02DA9,t12DAB,t22DAD,t32DAF];
          real _t2DB3#1 = Dot<4>(hy2D37,tv2DB1);
          real2 x2DB5#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v002C2D);
          real2 nd2DB7#2 = Floor<2>(x2DB5);
          real2 f2DB9#2 = Sub<real2>(x2DB5,nd2DB7);
          int{2} n2DBB#2 = RealToInt<2>(nd2DB7);
          int t22DBD#1 = Index<int{2},0>(n2DBB);
          int ix2DBF#4 = Add<int>(t12CED,t22DBD);
          int t22DC1#4 = Index<int{2},1>(n2DBB);
          int iy2DC3#1 = Add<int>(t12CED,t22DC1);
          int t2DC7#1 = Mul<int>(n02CF8,iy2DC3);
          int index2DC8#1 = Add<int>(ix2DBF,t2DC7);
          addr(IMAGE2D<int>) imgBaseAddr2DC9#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a2DC5#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2DC9,index2DC8);
          real4 v02DCF#1 = LoadVoxels<IMAGE2D<int>,4>(a2DC5);
          int iy2DD1#1 = Add<int>(_t2CCE,t22DC1);
          int t2DD5#1 = Mul<int>(n02CF8,iy2DD1);
          int index2DD6#1 = Add<int>(ix2DBF,t2DD5);
          addr(IMAGE2D<int>) a2DD3#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2DC9,index2DD6);
          real4 v12DDD#1 = LoadVoxels<IMAGE2D<int>,4>(a2DD3);
          int iy2DDF#1 = Add<int>(_t2CD2,t22DC1);
          int t2DE3#1 = Mul<int>(n02CF8,iy2DDF);
          int index2DE4#1 = Add<int>(ix2DBF,t2DE3);
          addr(IMAGE2D<int>) a2DE1#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2DC9,index2DE4);
          real4 v22DEB#1 = LoadVoxels<IMAGE2D<int>,4>(a2DE1);
          int iy2DED#1 = Add<int>(_t2CAA,t22DC1);
          int t2DF1#1 = Mul<int>(n02CF8,iy2DED);
          int index2DF2#1 = Add<int>(ix2DBF,t2DF1);
          addr(IMAGE2D<int>) a2DEF#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2DC9,index2DF2);
          real4 v32DF9#1 = LoadVoxels<IMAGE2D<int>,4>(a2DEF);
          real fy2DFB#4 = Index<real2,1>(f2DB9);
          real t32DFD#1 = Add<real>(fy2DFB,_t2CA6);
          real t12DFF#1 = Sub<real>(fy2DFB,_t2CA6);
          real t02E01#1 = Sub<real>(fy2DFB,_t2CA8);
          real4 a2E03#3 = <real4>[t32DFD,fy2DFB,t12DFF,t02E01];
          real4 prod32E1A#1 = Mul<real4>(a2E03,a32D3B);
          real4 sum22E1B#1 = Add<real4>(a22D3A,prod32E1A);
          real4 prod22E1C#1 = Mul<real4>(a2E03,sum22E1B);
          real4 sum12E1D#1 = Add<real4>(a12D39,prod22E1C);
          real4 prod12E1E#1 = Mul<real4>(a2E03,sum12E1D);
          real4 hy2E05#1 = Add<real4>(a02D38,prod12E1E);
          real fx2E39#4 = Index<real2,0>(f2DB9);
          real t32E3B#1 = Add<real>(fx2E39,_t2CA6);
          real t12E3D#1 = Sub<real>(fx2E39,_t2CA6);
          real t02E3F#1 = Sub<real>(fx2E39,_t2CA8);
          real4 a2E41#3 = <real4>[t32E3B,fx2E39,t12E3D,t02E3F];
          real4 prod32E58#1 = Mul<real4>(a2E41,a32D3B);
          real4 sum22E59#1 = Add<real4>(a22D3A,prod32E58);
          real4 prod22E5A#1 = Mul<real4>(a2E41,sum22E59);
          real4 sum12E5B#1 = Add<real4>(a12D39,prod22E5A);
          real4 prod12E5C#1 = Mul<real4>(a2E41,sum12E5B);
          real4 hx2E43#4 = Add<real4>(a02D38,prod12E5C);
          real t02E77#1 = Dot<4>(v02DCF,hx2E43);
          real t12E79#1 = Dot<4>(v12DDD,hx2E43);
          real t22E7B#1 = Dot<4>(v22DEB,hx2E43);
          real t32E7D#1 = Dot<4>(v32DF9,hx2E43);
          real4 tv2E7F#1 = <real4>[t02E77,t12E79,t22E7B,t32E7D];
          real _t2E81#1 = Dot<4>(hy2E05,tv2E7F);
          real _t2E83#2 = Sub<real>(_t2DB3,_t2E81);
          real _t2E85#1 = Mul<real>(_t2E83,_t2E83);
          real score2E87#1 = Add<real>(score2CA4,_t2E85);
          goto JOIN2E8A
        JOIN2E8A:  preds = [ASSIGN2E88,COND2CE6]
          real score2E89#2 = phi(score2E87,score2CA4)
          real _t2E8B#1 = Dot<2>(r02CC0,v012C31);
          real _t2E8D#1 = Dot<2>(r12CC6,v012C31);
          real2 _t2E8F#1 = <real2>[_t2E8B,_t2E8D];
          real2 pos2E91#1 = Add<real2>(_t2E8F,_t2CD6);
          real2 x2E93#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos2E91);
          bool _t2E95#1 = Inside<IMAGE2D<float>,2>(x2E93,_t2C29);
          if _t2E95 then goto ASSIGN2E99 else goto ASSIGN5800
        ASSIGN2E99:  preds = [COND2E97]
          real2 x2E98#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v012C31);
          bool _t2E9A#1 = Inside<IMAGE2D<int>,2>(x2E98,_t2C25);
          goto JOIN2E9E
        JOIN2E9E:  preds = [ASSIGN2E9B,ASSIGN5800]
          bool _t2E9C#1 = phi(_t2E9A,_t2E9D)
          if _t2E9C then goto ASSIGN2EA1 else goto JOIN3043
        ASSIGN2EA1:  preds = [COND2E9F]
          real2 nd2EA0#2 = Floor<2>(x2E93);
          real2 f2EA2#2 = Sub<real2>(x2E93,nd2EA0);
          int{2} n2EA4#2 = RealToInt<2>(nd2EA0);
          int t12EA6#4 = -1;
          int t22EA8#1 = Index<int{2},0>(n2EA4);
          int ix2EAA#4 = Add<int>(t12EA6,t22EA8);
          int t22EAC#4 = Index<int{2},1>(n2EA4);
          int iy2EAE#1 = Add<int>(t12EA6,t22EAC);
          int n02EB1#8 = 21;
          int t2EB2#1 = Mul<int>(n02EB1,iy2EAE);
          int index2EB3#1 = Add<int>(ix2EAA,t2EB2);
          addr(IMAGE2D<float>) imgBaseAddr2EB4#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a2EB0#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2EB4,index2EB3);
          real4 v02EBA#1 = LoadVoxels<IMAGE2D<float>,4>(a2EB0);
          int iy2EBC#1 = Add<int>(_t2CCE,t22EAC);
          int t2EC0#1 = Mul<int>(n02EB1,iy2EBC);
          int index2EC1#1 = Add<int>(ix2EAA,t2EC0);
          addr(IMAGE2D<float>) a2EBE#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2EB4,index2EC1);
          real4 v12EC8#1 = LoadVoxels<IMAGE2D<float>,4>(a2EBE);
          int iy2ECA#1 = Add<int>(_t2CD2,t22EAC);
          int t2ECE#1 = Mul<int>(n02EB1,iy2ECA);
          int index2ECF#1 = Add<int>(ix2EAA,t2ECE);
          addr(IMAGE2D<float>) a2ECC#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2EB4,index2ECF);
          real4 v22ED6#1 = LoadVoxels<IMAGE2D<float>,4>(a2ECC);
          int iy2ED8#1 = Add<int>(_t2CAA,t22EAC);
          int t2EDC#1 = Mul<int>(n02EB1,iy2ED8);
          int index2EDD#1 = Add<int>(ix2EAA,t2EDC);
          addr(IMAGE2D<float>) a2EDA#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2EB4,index2EDD);
          real4 v32EE4#1 = LoadVoxels<IMAGE2D<float>,4>(a2EDA);
          real fy2EE6#4 = Index<real2,1>(f2EA2);
          real t32EE8#1 = Add<real>(fy2EE6,_t2CA6);
          real t12EEA#1 = Sub<real>(fy2EE6,_t2CA6);
          real t02EEC#1 = Sub<real>(fy2EE6,_t2CA8);
          real4 a2EEE#3 = <real4>[t32EE8,fy2EE6,t12EEA,t02EEC];
          real _f2F01#2 = 0.133333333333e1;
          real _f2F02#2 = 0.666666666667e0;
          real4 a02EF1#4 = <real4>[_f2F01,_f2F02,_f2F02,_f2F01];
          real _f2EFD#1 = -0.2e1;
          real _f2EFE#2 = 0.0;
          real4 a12EF2#4 = <real4>[_f2EFD,_f2EFE,_f2EFE,_t2CA8];
          real _f2EFA#2 = -0.1e1;
          real4 a22EF3#4 = <real4>[_t2CA6,_f2EFA,_f2EFA,_t2CA6];
          real _f2EF5#1 = -0.166666666667e0;
          real _f2EF6#1 = 0.5e0;
          real _f2EF7#1 = -0.5e0;
          real _f2EF8#1 = 0.166666666667e0;
          real4 a32EF4#4 = <real4>[_f2EF5,_f2EF6,_f2EF7,_f2EF8];
          real4 prod32F05#1 = Mul<real4>(a2EEE,a32EF4);
          real4 sum22F06#1 = Add<real4>(a22EF3,prod32F05);
          real4 prod22F07#1 = Mul<real4>(a2EEE,sum22F06);
          real4 sum12F08#1 = Add<real4>(a12EF2,prod22F07);
          real4 prod12F09#1 = Mul<real4>(a2EEE,sum12F08);
          real4 hy2EF0#1 = Add<real4>(a02EF1,prod12F09);
          real fx2F24#4 = Index<real2,0>(f2EA2);
          real t32F26#1 = Add<real>(fx2F24,_t2CA6);
          real t12F28#1 = Sub<real>(fx2F24,_t2CA6);
          real t02F2A#1 = Sub<real>(fx2F24,_t2CA8);
          real4 a2F2C#3 = <real4>[t32F26,fx2F24,t12F28,t02F2A];
          real4 prod32F43#1 = Mul<real4>(a2F2C,a32EF4);
          real4 sum22F44#1 = Add<real4>(a22EF3,prod32F43);
          real4 prod22F45#1 = Mul<real4>(a2F2C,sum22F44);
          real4 sum12F46#1 = Add<real4>(a12EF2,prod22F45);
          real4 prod12F47#1 = Mul<real4>(a2F2C,sum12F46);
          real4 hx2F2E#4 = Add<real4>(a02EF1,prod12F47);
          real t02F62#1 = Dot<4>(v02EBA,hx2F2E);
          real t12F64#1 = Dot<4>(v12EC8,hx2F2E);
          real t22F66#1 = Dot<4>(v22ED6,hx2F2E);
          real t32F68#1 = Dot<4>(v32EE4,hx2F2E);
          real4 tv2F6A#1 = <real4>[t02F62,t12F64,t22F66,t32F68];
          real _t2F6C#1 = Dot<4>(hy2EF0,tv2F6A);
          real2 x2F6E#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v012C31);
          real2 nd2F70#2 = Floor<2>(x2F6E);
          real2 f2F72#2 = Sub<real2>(x2F6E,nd2F70);
          int{2} n2F74#2 = RealToInt<2>(nd2F70);
          int t22F76#1 = Index<int{2},0>(n2F74);
          int ix2F78#4 = Add<int>(t12EA6,t22F76);
          int t22F7A#4 = Index<int{2},1>(n2F74);
          int iy2F7C#1 = Add<int>(t12EA6,t22F7A);
          int t2F80#1 = Mul<int>(n02EB1,iy2F7C);
          int index2F81#1 = Add<int>(ix2F78,t2F80);
          addr(IMAGE2D<int>) imgBaseAddr2F82#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a2F7E#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2F82,index2F81);
          real4 v02F88#1 = LoadVoxels<IMAGE2D<int>,4>(a2F7E);
          int iy2F8A#1 = Add<int>(_t2CCE,t22F7A);
          int t2F8E#1 = Mul<int>(n02EB1,iy2F8A);
          int index2F8F#1 = Add<int>(ix2F78,t2F8E);
          addr(IMAGE2D<int>) a2F8C#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2F82,index2F8F);
          real4 v12F96#1 = LoadVoxels<IMAGE2D<int>,4>(a2F8C);
          int iy2F98#1 = Add<int>(_t2CD2,t22F7A);
          int t2F9C#1 = Mul<int>(n02EB1,iy2F98);
          int index2F9D#1 = Add<int>(ix2F78,t2F9C);
          addr(IMAGE2D<int>) a2F9A#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2F82,index2F9D);
          real4 v22FA4#1 = LoadVoxels<IMAGE2D<int>,4>(a2F9A);
          int iy2FA6#1 = Add<int>(_t2CAA,t22F7A);
          int t2FAA#1 = Mul<int>(n02EB1,iy2FA6);
          int index2FAB#1 = Add<int>(ix2F78,t2FAA);
          addr(IMAGE2D<int>) a2FA8#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2F82,index2FAB);
          real4 v32FB2#1 = LoadVoxels<IMAGE2D<int>,4>(a2FA8);
          real fy2FB4#4 = Index<real2,1>(f2F72);
          real t32FB6#1 = Add<real>(fy2FB4,_t2CA6);
          real t12FB8#1 = Sub<real>(fy2FB4,_t2CA6);
          real t02FBA#1 = Sub<real>(fy2FB4,_t2CA8);
          real4 a2FBC#3 = <real4>[t32FB6,fy2FB4,t12FB8,t02FBA];
          real4 prod32FD3#1 = Mul<real4>(a2FBC,a32EF4);
          real4 sum22FD4#1 = Add<real4>(a22EF3,prod32FD3);
          real4 prod22FD5#1 = Mul<real4>(a2FBC,sum22FD4);
          real4 sum12FD6#1 = Add<real4>(a12EF2,prod22FD5);
          real4 prod12FD7#1 = Mul<real4>(a2FBC,sum12FD6);
          real4 hy2FBE#1 = Add<real4>(a02EF1,prod12FD7);
          real fx2FF2#4 = Index<real2,0>(f2F72);
          real t32FF4#1 = Add<real>(fx2FF2,_t2CA6);
          real t12FF6#1 = Sub<real>(fx2FF2,_t2CA6);
          real t02FF8#1 = Sub<real>(fx2FF2,_t2CA8);
          real4 a2FFA#3 = <real4>[t32FF4,fx2FF2,t12FF6,t02FF8];
          real4 prod33011#1 = Mul<real4>(a2FFA,a32EF4);
          real4 sum23012#1 = Add<real4>(a22EF3,prod33011);
          real4 prod23013#1 = Mul<real4>(a2FFA,sum23012);
          real4 sum13014#1 = Add<real4>(a12EF2,prod23013);
          real4 prod13015#1 = Mul<real4>(a2FFA,sum13014);
          real4 hx2FFC#4 = Add<real4>(a02EF1,prod13015);
          real t03030#1 = Dot<4>(v02F88,hx2FFC);
          real t13032#1 = Dot<4>(v12F96,hx2FFC);
          real t23034#1 = Dot<4>(v22FA4,hx2FFC);
          real t33036#1 = Dot<4>(v32FB2,hx2FFC);
          real4 tv3038#1 = <real4>[t03030,t13032,t23034,t33036];
          real _t303A#1 = Dot<4>(hy2FBE,tv3038);
          real _t303C#2 = Sub<real>(_t2F6C,_t303A);
          real _t303E#1 = Mul<real>(_t303C,_t303C);
          real score3040#1 = Add<real>(score2E89,_t303E);
          goto JOIN3043
        JOIN3043:  preds = [ASSIGN3041,COND2E9F]
          real score3042#2 = phi(score3040,score2E89)
          real _t3044#1 = Dot<2>(r02CC0,v022C35);
          real _t3046#1 = Dot<2>(r12CC6,v022C35);
          real2 _t3048#1 = <real2>[_t3044,_t3046];
          real2 pos304A#1 = Add<real2>(_t3048,_t2CD6);
          real2 x304C#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos304A);
          bool _t304E#1 = Inside<IMAGE2D<float>,2>(x304C,_t2C29);
          if _t304E then goto ASSIGN3052 else goto ASSIGN57FF
        ASSIGN3052:  preds = [COND3050]
          real2 x3051#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v022C35);
          bool _t3053#1 = Inside<IMAGE2D<int>,2>(x3051,_t2C25);
          goto JOIN3057
        JOIN3057:  preds = [ASSIGN3054,ASSIGN57FF]
          bool _t3055#1 = phi(_t3053,_t3056)
          if _t3055 then goto ASSIGN305A else goto JOIN31FC
        ASSIGN305A:  preds = [COND3058]
          real2 nd3059#2 = Floor<2>(x304C);
          real2 f305B#2 = Sub<real2>(x304C,nd3059);
          int{2} n305D#2 = RealToInt<2>(nd3059);
          int t1305F#4 = -1;
          int t23061#1 = Index<int{2},0>(n305D);
          int ix3063#4 = Add<int>(t1305F,t23061);
          int t23065#4 = Index<int{2},1>(n305D);
          int iy3067#1 = Add<int>(t1305F,t23065);
          int n0306A#8 = 21;
          int t306B#1 = Mul<int>(n0306A,iy3067);
          int index306C#1 = Add<int>(ix3063,t306B);
          addr(IMAGE2D<float>) imgBaseAddr306D#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a3069#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr306D,index306C);
          real4 v03073#1 = LoadVoxels<IMAGE2D<float>,4>(a3069);
          int iy3075#1 = Add<int>(_t2CCE,t23065);
          int t3079#1 = Mul<int>(n0306A,iy3075);
          int index307A#1 = Add<int>(ix3063,t3079);
          addr(IMAGE2D<float>) a3077#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr306D,index307A);
          real4 v13081#1 = LoadVoxels<IMAGE2D<float>,4>(a3077);
          int iy3083#1 = Add<int>(_t2CD2,t23065);
          int t3087#1 = Mul<int>(n0306A,iy3083);
          int index3088#1 = Add<int>(ix3063,t3087);
          addr(IMAGE2D<float>) a3085#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr306D,index3088);
          real4 v2308F#1 = LoadVoxels<IMAGE2D<float>,4>(a3085);
          int iy3091#1 = Add<int>(_t2CAA,t23065);
          int t3095#1 = Mul<int>(n0306A,iy3091);
          int index3096#1 = Add<int>(ix3063,t3095);
          addr(IMAGE2D<float>) a3093#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr306D,index3096);
          real4 v3309D#1 = LoadVoxels<IMAGE2D<float>,4>(a3093);
          real fy309F#4 = Index<real2,1>(f305B);
          real t330A1#1 = Add<real>(fy309F,_t2CA6);
          real t130A3#1 = Sub<real>(fy309F,_t2CA6);
          real t030A5#1 = Sub<real>(fy309F,_t2CA8);
          real4 a30A7#3 = <real4>[t330A1,fy309F,t130A3,t030A5];
          real _f30BA#2 = 0.133333333333e1;
          real _f30BB#2 = 0.666666666667e0;
          real4 a030AA#4 = <real4>[_f30BA,_f30BB,_f30BB,_f30BA];
          real _f30B6#1 = -0.2e1;
          real _f30B7#2 = 0.0;
          real4 a130AB#4 = <real4>[_f30B6,_f30B7,_f30B7,_t2CA8];
          real _f30B3#2 = -0.1e1;
          real4 a230AC#4 = <real4>[_t2CA6,_f30B3,_f30B3,_t2CA6];
          real _f30AE#1 = -0.166666666667e0;
          real _f30AF#1 = 0.5e0;
          real _f30B0#1 = -0.5e0;
          real _f30B1#1 = 0.166666666667e0;
          real4 a330AD#4 = <real4>[_f30AE,_f30AF,_f30B0,_f30B1];
          real4 prod330BE#1 = Mul<real4>(a30A7,a330AD);
          real4 sum230BF#1 = Add<real4>(a230AC,prod330BE);
          real4 prod230C0#1 = Mul<real4>(a30A7,sum230BF);
          real4 sum130C1#1 = Add<real4>(a130AB,prod230C0);
          real4 prod130C2#1 = Mul<real4>(a30A7,sum130C1);
          real4 hy30A9#1 = Add<real4>(a030AA,prod130C2);
          real fx30DD#4 = Index<real2,0>(f305B);
          real t330DF#1 = Add<real>(fx30DD,_t2CA6);
          real t130E1#1 = Sub<real>(fx30DD,_t2CA6);
          real t030E3#1 = Sub<real>(fx30DD,_t2CA8);
          real4 a30E5#3 = <real4>[t330DF,fx30DD,t130E1,t030E3];
          real4 prod330FC#1 = Mul<real4>(a30E5,a330AD);
          real4 sum230FD#1 = Add<real4>(a230AC,prod330FC);
          real4 prod230FE#1 = Mul<real4>(a30E5,sum230FD);
          real4 sum130FF#1 = Add<real4>(a130AB,prod230FE);
          real4 prod13100#1 = Mul<real4>(a30E5,sum130FF);
          real4 hx30E7#4 = Add<real4>(a030AA,prod13100);
          real t0311B#1 = Dot<4>(v03073,hx30E7);
          real t1311D#1 = Dot<4>(v13081,hx30E7);
          real t2311F#1 = Dot<4>(v2308F,hx30E7);
          real t33121#1 = Dot<4>(v3309D,hx30E7);
          real4 tv3123#1 = <real4>[t0311B,t1311D,t2311F,t33121];
          real _t3125#1 = Dot<4>(hy30A9,tv3123);
          real2 x3127#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v022C35);
          real2 nd3129#2 = Floor<2>(x3127);
          real2 f312B#2 = Sub<real2>(x3127,nd3129);
          int{2} n312D#2 = RealToInt<2>(nd3129);
          int t2312F#1 = Index<int{2},0>(n312D);
          int ix3131#4 = Add<int>(t1305F,t2312F);
          int t23133#4 = Index<int{2},1>(n312D);
          int iy3135#1 = Add<int>(t1305F,t23133);
          int t3139#1 = Mul<int>(n0306A,iy3135);
          int index313A#1 = Add<int>(ix3131,t3139);
          addr(IMAGE2D<int>) imgBaseAddr313B#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a3137#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr313B,index313A);
          real4 v03141#1 = LoadVoxels<IMAGE2D<int>,4>(a3137);
          int iy3143#1 = Add<int>(_t2CCE,t23133);
          int t3147#1 = Mul<int>(n0306A,iy3143);
          int index3148#1 = Add<int>(ix3131,t3147);
          addr(IMAGE2D<int>) a3145#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr313B,index3148);
          real4 v1314F#1 = LoadVoxels<IMAGE2D<int>,4>(a3145);
          int iy3151#1 = Add<int>(_t2CD2,t23133);
          int t3155#1 = Mul<int>(n0306A,iy3151);
          int index3156#1 = Add<int>(ix3131,t3155);
          addr(IMAGE2D<int>) a3153#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr313B,index3156);
          real4 v2315D#1 = LoadVoxels<IMAGE2D<int>,4>(a3153);
          int iy315F#1 = Add<int>(_t2CAA,t23133);
          int t3163#1 = Mul<int>(n0306A,iy315F);
          int index3164#1 = Add<int>(ix3131,t3163);
          addr(IMAGE2D<int>) a3161#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr313B,index3164);
          real4 v3316B#1 = LoadVoxels<IMAGE2D<int>,4>(a3161);
          real fy316D#4 = Index<real2,1>(f312B);
          real t3316F#1 = Add<real>(fy316D,_t2CA6);
          real t13171#1 = Sub<real>(fy316D,_t2CA6);
          real t03173#1 = Sub<real>(fy316D,_t2CA8);
          real4 a3175#3 = <real4>[t3316F,fy316D,t13171,t03173];
          real4 prod3318C#1 = Mul<real4>(a3175,a330AD);
          real4 sum2318D#1 = Add<real4>(a230AC,prod3318C);
          real4 prod2318E#1 = Mul<real4>(a3175,sum2318D);
          real4 sum1318F#1 = Add<real4>(a130AB,prod2318E);
          real4 prod13190#1 = Mul<real4>(a3175,sum1318F);
          real4 hy3177#1 = Add<real4>(a030AA,prod13190);
          real fx31AB#4 = Index<real2,0>(f312B);
          real t331AD#1 = Add<real>(fx31AB,_t2CA6);
          real t131AF#1 = Sub<real>(fx31AB,_t2CA6);
          real t031B1#1 = Sub<real>(fx31AB,_t2CA8);
          real4 a31B3#3 = <real4>[t331AD,fx31AB,t131AF,t031B1];
          real4 prod331CA#1 = Mul<real4>(a31B3,a330AD);
          real4 sum231CB#1 = Add<real4>(a230AC,prod331CA);
          real4 prod231CC#1 = Mul<real4>(a31B3,sum231CB);
          real4 sum131CD#1 = Add<real4>(a130AB,prod231CC);
          real4 prod131CE#1 = Mul<real4>(a31B3,sum131CD);
          real4 hx31B5#4 = Add<real4>(a030AA,prod131CE);
          real t031E9#1 = Dot<4>(v03141,hx31B5);
          real t131EB#1 = Dot<4>(v1314F,hx31B5);
          real t231ED#1 = Dot<4>(v2315D,hx31B5);
          real t331EF#1 = Dot<4>(v3316B,hx31B5);
          real4 tv31F1#1 = <real4>[t031E9,t131EB,t231ED,t331EF];
          real _t31F3#1 = Dot<4>(hy3177,tv31F1);
          real _t31F5#2 = Sub<real>(_t3125,_t31F3);
          real _t31F7#1 = Mul<real>(_t31F5,_t31F5);
          real score31F9#1 = Add<real>(score3042,_t31F7);
          goto JOIN31FC
        JOIN31FC:  preds = [ASSIGN31FA,COND3058]
          real score31FB#2 = phi(score31F9,score3042)
          real _t31FD#1 = Dot<2>(r02CC0,v032C39);
          real _t31FF#1 = Dot<2>(r12CC6,v032C39);
          real2 _t3201#1 = <real2>[_t31FD,_t31FF];
          real2 pos3203#1 = Add<real2>(_t3201,_t2CD6);
          real2 x3205#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos3203);
          bool _t3207#1 = Inside<IMAGE2D<float>,2>(x3205,_t2C29);
          if _t3207 then goto ASSIGN320B else goto ASSIGN57FE
        ASSIGN320B:  preds = [COND3209]
          real2 x320A#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v032C39);
          bool _t320C#1 = Inside<IMAGE2D<int>,2>(x320A,_t2C25);
          goto JOIN3210
        JOIN3210:  preds = [ASSIGN320D,ASSIGN57FE]
          bool _t320E#1 = phi(_t320C,_t320F)
          if _t320E then goto ASSIGN3213 else goto JOIN33B5
        ASSIGN3213:  preds = [COND3211]
          real2 nd3212#2 = Floor<2>(x3205);
          real2 f3214#2 = Sub<real2>(x3205,nd3212);
          int{2} n3216#2 = RealToInt<2>(nd3212);
          int t13218#4 = -1;
          int t2321A#1 = Index<int{2},0>(n3216);
          int ix321C#4 = Add<int>(t13218,t2321A);
          int t2321E#4 = Index<int{2},1>(n3216);
          int iy3220#1 = Add<int>(t13218,t2321E);
          int n03223#8 = 21;
          int t3224#1 = Mul<int>(n03223,iy3220);
          int index3225#1 = Add<int>(ix321C,t3224);
          addr(IMAGE2D<float>) imgBaseAddr3226#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a3222#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3226,index3225);
          real4 v0322C#1 = LoadVoxels<IMAGE2D<float>,4>(a3222);
          int iy322E#1 = Add<int>(_t2CCE,t2321E);
          int t3232#1 = Mul<int>(n03223,iy322E);
          int index3233#1 = Add<int>(ix321C,t3232);
          addr(IMAGE2D<float>) a3230#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3226,index3233);
          real4 v1323A#1 = LoadVoxels<IMAGE2D<float>,4>(a3230);
          int iy323C#1 = Add<int>(_t2CD2,t2321E);
          int t3240#1 = Mul<int>(n03223,iy323C);
          int index3241#1 = Add<int>(ix321C,t3240);
          addr(IMAGE2D<float>) a323E#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3226,index3241);
          real4 v23248#1 = LoadVoxels<IMAGE2D<float>,4>(a323E);
          int iy324A#1 = Add<int>(_t2CAA,t2321E);
          int t324E#1 = Mul<int>(n03223,iy324A);
          int index324F#1 = Add<int>(ix321C,t324E);
          addr(IMAGE2D<float>) a324C#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3226,index324F);
          real4 v33256#1 = LoadVoxels<IMAGE2D<float>,4>(a324C);
          real fy3258#4 = Index<real2,1>(f3214);
          real t3325A#1 = Add<real>(fy3258,_t2CA6);
          real t1325C#1 = Sub<real>(fy3258,_t2CA6);
          real t0325E#1 = Sub<real>(fy3258,_t2CA8);
          real4 a3260#3 = <real4>[t3325A,fy3258,t1325C,t0325E];
          real _f3273#2 = 0.133333333333e1;
          real _f3274#2 = 0.666666666667e0;
          real4 a03263#4 = <real4>[_f3273,_f3274,_f3274,_f3273];
          real _f326F#1 = -0.2e1;
          real _f3270#2 = 0.0;
          real4 a13264#4 = <real4>[_f326F,_f3270,_f3270,_t2CA8];
          real _f326C#2 = -0.1e1;
          real4 a23265#4 = <real4>[_t2CA6,_f326C,_f326C,_t2CA6];
          real _f3267#1 = -0.166666666667e0;
          real _f3268#1 = 0.5e0;
          real _f3269#1 = -0.5e0;
          real _f326A#1 = 0.166666666667e0;
          real4 a33266#4 = <real4>[_f3267,_f3268,_f3269,_f326A];
          real4 prod33277#1 = Mul<real4>(a3260,a33266);
          real4 sum23278#1 = Add<real4>(a23265,prod33277);
          real4 prod23279#1 = Mul<real4>(a3260,sum23278);
          real4 sum1327A#1 = Add<real4>(a13264,prod23279);
          real4 prod1327B#1 = Mul<real4>(a3260,sum1327A);
          real4 hy3262#1 = Add<real4>(a03263,prod1327B);
          real fx3296#4 = Index<real2,0>(f3214);
          real t33298#1 = Add<real>(fx3296,_t2CA6);
          real t1329A#1 = Sub<real>(fx3296,_t2CA6);
          real t0329C#1 = Sub<real>(fx3296,_t2CA8);
          real4 a329E#3 = <real4>[t33298,fx3296,t1329A,t0329C];
          real4 prod332B5#1 = Mul<real4>(a329E,a33266);
          real4 sum232B6#1 = Add<real4>(a23265,prod332B5);
          real4 prod232B7#1 = Mul<real4>(a329E,sum232B6);
          real4 sum132B8#1 = Add<real4>(a13264,prod232B7);
          real4 prod132B9#1 = Mul<real4>(a329E,sum132B8);
          real4 hx32A0#4 = Add<real4>(a03263,prod132B9);
          real t032D4#1 = Dot<4>(v0322C,hx32A0);
          real t132D6#1 = Dot<4>(v1323A,hx32A0);
          real t232D8#1 = Dot<4>(v23248,hx32A0);
          real t332DA#1 = Dot<4>(v33256,hx32A0);
          real4 tv32DC#1 = <real4>[t032D4,t132D6,t232D8,t332DA];
          real _t32DE#1 = Dot<4>(hy3262,tv32DC);
          real2 x32E0#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v032C39);
          real2 nd32E2#2 = Floor<2>(x32E0);
          real2 f32E4#2 = Sub<real2>(x32E0,nd32E2);
          int{2} n32E6#2 = RealToInt<2>(nd32E2);
          int t232E8#1 = Index<int{2},0>(n32E6);
          int ix32EA#4 = Add<int>(t13218,t232E8);
          int t232EC#4 = Index<int{2},1>(n32E6);
          int iy32EE#1 = Add<int>(t13218,t232EC);
          int t32F2#1 = Mul<int>(n03223,iy32EE);
          int index32F3#1 = Add<int>(ix32EA,t32F2);
          addr(IMAGE2D<int>) imgBaseAddr32F4#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a32F0#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr32F4,index32F3);
          real4 v032FA#1 = LoadVoxels<IMAGE2D<int>,4>(a32F0);
          int iy32FC#1 = Add<int>(_t2CCE,t232EC);
          int t3300#1 = Mul<int>(n03223,iy32FC);
          int index3301#1 = Add<int>(ix32EA,t3300);
          addr(IMAGE2D<int>) a32FE#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr32F4,index3301);
          real4 v13308#1 = LoadVoxels<IMAGE2D<int>,4>(a32FE);
          int iy330A#1 = Add<int>(_t2CD2,t232EC);
          int t330E#1 = Mul<int>(n03223,iy330A);
          int index330F#1 = Add<int>(ix32EA,t330E);
          addr(IMAGE2D<int>) a330C#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr32F4,index330F);
          real4 v23316#1 = LoadVoxels<IMAGE2D<int>,4>(a330C);
          int iy3318#1 = Add<int>(_t2CAA,t232EC);
          int t331C#1 = Mul<int>(n03223,iy3318);
          int index331D#1 = Add<int>(ix32EA,t331C);
          addr(IMAGE2D<int>) a331A#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr32F4,index331D);
          real4 v33324#1 = LoadVoxels<IMAGE2D<int>,4>(a331A);
          real fy3326#4 = Index<real2,1>(f32E4);
          real t33328#1 = Add<real>(fy3326,_t2CA6);
          real t1332A#1 = Sub<real>(fy3326,_t2CA6);
          real t0332C#1 = Sub<real>(fy3326,_t2CA8);
          real4 a332E#3 = <real4>[t33328,fy3326,t1332A,t0332C];
          real4 prod33345#1 = Mul<real4>(a332E,a33266);
          real4 sum23346#1 = Add<real4>(a23265,prod33345);
          real4 prod23347#1 = Mul<real4>(a332E,sum23346);
          real4 sum13348#1 = Add<real4>(a13264,prod23347);
          real4 prod13349#1 = Mul<real4>(a332E,sum13348);
          real4 hy3330#1 = Add<real4>(a03263,prod13349);
          real fx3364#4 = Index<real2,0>(f32E4);
          real t33366#1 = Add<real>(fx3364,_t2CA6);
          real t13368#1 = Sub<real>(fx3364,_t2CA6);
          real t0336A#1 = Sub<real>(fx3364,_t2CA8);
          real4 a336C#3 = <real4>[t33366,fx3364,t13368,t0336A];
          real4 prod33383#1 = Mul<real4>(a336C,a33266);
          real4 sum23384#1 = Add<real4>(a23265,prod33383);
          real4 prod23385#1 = Mul<real4>(a336C,sum23384);
          real4 sum13386#1 = Add<real4>(a13264,prod23385);
          real4 prod13387#1 = Mul<real4>(a336C,sum13386);
          real4 hx336E#4 = Add<real4>(a03263,prod13387);
          real t033A2#1 = Dot<4>(v032FA,hx336E);
          real t133A4#1 = Dot<4>(v13308,hx336E);
          real t233A6#1 = Dot<4>(v23316,hx336E);
          real t333A8#1 = Dot<4>(v33324,hx336E);
          real4 tv33AA#1 = <real4>[t033A2,t133A4,t233A6,t333A8];
          real _t33AC#1 = Dot<4>(hy3330,tv33AA);
          real _t33AE#2 = Sub<real>(_t32DE,_t33AC);
          real _t33B0#1 = Mul<real>(_t33AE,_t33AE);
          real score33B2#1 = Add<real>(score31FB,_t33B0);
          goto JOIN33B5
        JOIN33B5:  preds = [ASSIGN33B3,COND3211]
          real score33B4#2 = phi(score33B2,score31FB)
          real _t33B6#1 = Dot<2>(r02CC0,v042C3D);
          real _t33B8#1 = Dot<2>(r12CC6,v042C3D);
          real2 _t33BA#1 = <real2>[_t33B6,_t33B8];
          real2 pos33BC#1 = Add<real2>(_t33BA,_t2CD6);
          real2 x33BE#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos33BC);
          bool _t33C0#1 = Inside<IMAGE2D<float>,2>(x33BE,_t2C29);
          if _t33C0 then goto ASSIGN33C4 else goto ASSIGN57FD
        ASSIGN33C4:  preds = [COND33C2]
          real2 x33C3#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v042C3D);
          bool _t33C5#1 = Inside<IMAGE2D<int>,2>(x33C3,_t2C25);
          goto JOIN33C9
        JOIN33C9:  preds = [ASSIGN33C6,ASSIGN57FD]
          bool _t33C7#1 = phi(_t33C5,_t33C8)
          if _t33C7 then goto ASSIGN33CC else goto JOIN356E
        ASSIGN33CC:  preds = [COND33CA]
          real2 nd33CB#2 = Floor<2>(x33BE);
          real2 f33CD#2 = Sub<real2>(x33BE,nd33CB);
          int{2} n33CF#2 = RealToInt<2>(nd33CB);
          int t133D1#4 = -1;
          int t233D3#1 = Index<int{2},0>(n33CF);
          int ix33D5#4 = Add<int>(t133D1,t233D3);
          int t233D7#4 = Index<int{2},1>(n33CF);
          int iy33D9#1 = Add<int>(t133D1,t233D7);
          int n033DC#8 = 21;
          int t33DD#1 = Mul<int>(n033DC,iy33D9);
          int index33DE#1 = Add<int>(ix33D5,t33DD);
          addr(IMAGE2D<float>) imgBaseAddr33DF#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a33DB#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr33DF,index33DE);
          real4 v033E5#1 = LoadVoxels<IMAGE2D<float>,4>(a33DB);
          int iy33E7#1 = Add<int>(_t2CCE,t233D7);
          int t33EB#1 = Mul<int>(n033DC,iy33E7);
          int index33EC#1 = Add<int>(ix33D5,t33EB);
          addr(IMAGE2D<float>) a33E9#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr33DF,index33EC);
          real4 v133F3#1 = LoadVoxels<IMAGE2D<float>,4>(a33E9);
          int iy33F5#1 = Add<int>(_t2CD2,t233D7);
          int t33F9#1 = Mul<int>(n033DC,iy33F5);
          int index33FA#1 = Add<int>(ix33D5,t33F9);
          addr(IMAGE2D<float>) a33F7#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr33DF,index33FA);
          real4 v23401#1 = LoadVoxels<IMAGE2D<float>,4>(a33F7);
          int iy3403#1 = Add<int>(_t2CAA,t233D7);
          int t3407#1 = Mul<int>(n033DC,iy3403);
          int index3408#1 = Add<int>(ix33D5,t3407);
          addr(IMAGE2D<float>) a3405#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr33DF,index3408);
          real4 v3340F#1 = LoadVoxels<IMAGE2D<float>,4>(a3405);
          real fy3411#4 = Index<real2,1>(f33CD);
          real t33413#1 = Add<real>(fy3411,_t2CA6);
          real t13415#1 = Sub<real>(fy3411,_t2CA6);
          real t03417#1 = Sub<real>(fy3411,_t2CA8);
          real4 a3419#3 = <real4>[t33413,fy3411,t13415,t03417];
          real _f342C#2 = 0.133333333333e1;
          real _f342D#2 = 0.666666666667e0;
          real4 a0341C#4 = <real4>[_f342C,_f342D,_f342D,_f342C];
          real _f3428#1 = -0.2e1;
          real _f3429#2 = 0.0;
          real4 a1341D#4 = <real4>[_f3428,_f3429,_f3429,_t2CA8];
          real _f3425#2 = -0.1e1;
          real4 a2341E#4 = <real4>[_t2CA6,_f3425,_f3425,_t2CA6];
          real _f3420#1 = -0.166666666667e0;
          real _f3421#1 = 0.5e0;
          real _f3422#1 = -0.5e0;
          real _f3423#1 = 0.166666666667e0;
          real4 a3341F#4 = <real4>[_f3420,_f3421,_f3422,_f3423];
          real4 prod33430#1 = Mul<real4>(a3419,a3341F);
          real4 sum23431#1 = Add<real4>(a2341E,prod33430);
          real4 prod23432#1 = Mul<real4>(a3419,sum23431);
          real4 sum13433#1 = Add<real4>(a1341D,prod23432);
          real4 prod13434#1 = Mul<real4>(a3419,sum13433);
          real4 hy341B#1 = Add<real4>(a0341C,prod13434);
          real fx344F#4 = Index<real2,0>(f33CD);
          real t33451#1 = Add<real>(fx344F,_t2CA6);
          real t13453#1 = Sub<real>(fx344F,_t2CA6);
          real t03455#1 = Sub<real>(fx344F,_t2CA8);
          real4 a3457#3 = <real4>[t33451,fx344F,t13453,t03455];
          real4 prod3346E#1 = Mul<real4>(a3457,a3341F);
          real4 sum2346F#1 = Add<real4>(a2341E,prod3346E);
          real4 prod23470#1 = Mul<real4>(a3457,sum2346F);
          real4 sum13471#1 = Add<real4>(a1341D,prod23470);
          real4 prod13472#1 = Mul<real4>(a3457,sum13471);
          real4 hx3459#4 = Add<real4>(a0341C,prod13472);
          real t0348D#1 = Dot<4>(v033E5,hx3459);
          real t1348F#1 = Dot<4>(v133F3,hx3459);
          real t23491#1 = Dot<4>(v23401,hx3459);
          real t33493#1 = Dot<4>(v3340F,hx3459);
          real4 tv3495#1 = <real4>[t0348D,t1348F,t23491,t33493];
          real _t3497#1 = Dot<4>(hy341B,tv3495);
          real2 x3499#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v042C3D);
          real2 nd349B#2 = Floor<2>(x3499);
          real2 f349D#2 = Sub<real2>(x3499,nd349B);
          int{2} n349F#2 = RealToInt<2>(nd349B);
          int t234A1#1 = Index<int{2},0>(n349F);
          int ix34A3#4 = Add<int>(t133D1,t234A1);
          int t234A5#4 = Index<int{2},1>(n349F);
          int iy34A7#1 = Add<int>(t133D1,t234A5);
          int t34AB#1 = Mul<int>(n033DC,iy34A7);
          int index34AC#1 = Add<int>(ix34A3,t34AB);
          addr(IMAGE2D<int>) imgBaseAddr34AD#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a34A9#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr34AD,index34AC);
          real4 v034B3#1 = LoadVoxels<IMAGE2D<int>,4>(a34A9);
          int iy34B5#1 = Add<int>(_t2CCE,t234A5);
          int t34B9#1 = Mul<int>(n033DC,iy34B5);
          int index34BA#1 = Add<int>(ix34A3,t34B9);
          addr(IMAGE2D<int>) a34B7#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr34AD,index34BA);
          real4 v134C1#1 = LoadVoxels<IMAGE2D<int>,4>(a34B7);
          int iy34C3#1 = Add<int>(_t2CD2,t234A5);
          int t34C7#1 = Mul<int>(n033DC,iy34C3);
          int index34C8#1 = Add<int>(ix34A3,t34C7);
          addr(IMAGE2D<int>) a34C5#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr34AD,index34C8);
          real4 v234CF#1 = LoadVoxels<IMAGE2D<int>,4>(a34C5);
          int iy34D1#1 = Add<int>(_t2CAA,t234A5);
          int t34D5#1 = Mul<int>(n033DC,iy34D1);
          int index34D6#1 = Add<int>(ix34A3,t34D5);
          addr(IMAGE2D<int>) a34D3#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr34AD,index34D6);
          real4 v334DD#1 = LoadVoxels<IMAGE2D<int>,4>(a34D3);
          real fy34DF#4 = Index<real2,1>(f349D);
          real t334E1#1 = Add<real>(fy34DF,_t2CA6);
          real t134E3#1 = Sub<real>(fy34DF,_t2CA6);
          real t034E5#1 = Sub<real>(fy34DF,_t2CA8);
          real4 a34E7#3 = <real4>[t334E1,fy34DF,t134E3,t034E5];
          real4 prod334FE#1 = Mul<real4>(a34E7,a3341F);
          real4 sum234FF#1 = Add<real4>(a2341E,prod334FE);
          real4 prod23500#1 = Mul<real4>(a34E7,sum234FF);
          real4 sum13501#1 = Add<real4>(a1341D,prod23500);
          real4 prod13502#1 = Mul<real4>(a34E7,sum13501);
          real4 hy34E9#1 = Add<real4>(a0341C,prod13502);
          real fx351D#4 = Index<real2,0>(f349D);
          real t3351F#1 = Add<real>(fx351D,_t2CA6);
          real t13521#1 = Sub<real>(fx351D,_t2CA6);
          real t03523#1 = Sub<real>(fx351D,_t2CA8);
          real4 a3525#3 = <real4>[t3351F,fx351D,t13521,t03523];
          real4 prod3353C#1 = Mul<real4>(a3525,a3341F);
          real4 sum2353D#1 = Add<real4>(a2341E,prod3353C);
          real4 prod2353E#1 = Mul<real4>(a3525,sum2353D);
          real4 sum1353F#1 = Add<real4>(a1341D,prod2353E);
          real4 prod13540#1 = Mul<real4>(a3525,sum1353F);
          real4 hx3527#4 = Add<real4>(a0341C,prod13540);
          real t0355B#1 = Dot<4>(v034B3,hx3527);
          real t1355D#1 = Dot<4>(v134C1,hx3527);
          real t2355F#1 = Dot<4>(v234CF,hx3527);
          real t33561#1 = Dot<4>(v334DD,hx3527);
          real4 tv3563#1 = <real4>[t0355B,t1355D,t2355F,t33561];
          real _t3565#1 = Dot<4>(hy34E9,tv3563);
          real _t3567#2 = Sub<real>(_t3497,_t3565);
          real _t3569#1 = Mul<real>(_t3567,_t3567);
          real score356B#1 = Add<real>(score33B4,_t3569);
          goto JOIN356E
        JOIN356E:  preds = [ASSIGN356C,COND33CA]
          real score356D#2 = phi(score356B,score33B4)
          real _t356F#1 = Dot<2>(r02CC0,v052C3F);
          real _t3571#1 = Dot<2>(r12CC6,v052C3F);
          real2 _t3573#1 = <real2>[_t356F,_t3571];
          real2 pos3575#1 = Add<real2>(_t3573,_t2CD6);
          real2 x3577#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos3575);
          bool _t3579#1 = Inside<IMAGE2D<float>,2>(x3577,_t2C29);
          if _t3579 then goto ASSIGN357D else goto ASSIGN57FC
        ASSIGN357D:  preds = [COND357B]
          real2 x357C#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v052C3F);
          bool _t357E#1 = Inside<IMAGE2D<int>,2>(x357C,_t2C25);
          goto JOIN3582
        JOIN3582:  preds = [ASSIGN357F,ASSIGN57FC]
          bool _t3580#1 = phi(_t357E,_t3581)
          if _t3580 then goto ASSIGN3585 else goto JOIN3727
        ASSIGN3585:  preds = [COND3583]
          real2 nd3584#2 = Floor<2>(x3577);
          real2 f3586#2 = Sub<real2>(x3577,nd3584);
          int{2} n3588#2 = RealToInt<2>(nd3584);
          int t1358A#4 = -1;
          int t2358C#1 = Index<int{2},0>(n3588);
          int ix358E#4 = Add<int>(t1358A,t2358C);
          int t23590#4 = Index<int{2},1>(n3588);
          int iy3592#1 = Add<int>(t1358A,t23590);
          int n03595#8 = 21;
          int t3596#1 = Mul<int>(n03595,iy3592);
          int index3597#1 = Add<int>(ix358E,t3596);
          addr(IMAGE2D<float>) imgBaseAddr3598#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a3594#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3598,index3597);
          real4 v0359E#1 = LoadVoxels<IMAGE2D<float>,4>(a3594);
          int iy35A0#1 = Add<int>(_t2CCE,t23590);
          int t35A4#1 = Mul<int>(n03595,iy35A0);
          int index35A5#1 = Add<int>(ix358E,t35A4);
          addr(IMAGE2D<float>) a35A2#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3598,index35A5);
          real4 v135AC#1 = LoadVoxels<IMAGE2D<float>,4>(a35A2);
          int iy35AE#1 = Add<int>(_t2CD2,t23590);
          int t35B2#1 = Mul<int>(n03595,iy35AE);
          int index35B3#1 = Add<int>(ix358E,t35B2);
          addr(IMAGE2D<float>) a35B0#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3598,index35B3);
          real4 v235BA#1 = LoadVoxels<IMAGE2D<float>,4>(a35B0);
          int iy35BC#1 = Add<int>(_t2CAA,t23590);
          int t35C0#1 = Mul<int>(n03595,iy35BC);
          int index35C1#1 = Add<int>(ix358E,t35C0);
          addr(IMAGE2D<float>) a35BE#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3598,index35C1);
          real4 v335C8#1 = LoadVoxels<IMAGE2D<float>,4>(a35BE);
          real fy35CA#4 = Index<real2,1>(f3586);
          real t335CC#1 = Add<real>(fy35CA,_t2CA6);
          real t135CE#1 = Sub<real>(fy35CA,_t2CA6);
          real t035D0#1 = Sub<real>(fy35CA,_t2CA8);
          real4 a35D2#3 = <real4>[t335CC,fy35CA,t135CE,t035D0];
          real _f35E5#2 = 0.133333333333e1;
          real _f35E6#2 = 0.666666666667e0;
          real4 a035D5#4 = <real4>[_f35E5,_f35E6,_f35E6,_f35E5];
          real _f35E1#1 = -0.2e1;
          real _f35E2#2 = 0.0;
          real4 a135D6#4 = <real4>[_f35E1,_f35E2,_f35E2,_t2CA8];
          real _f35DE#2 = -0.1e1;
          real4 a235D7#4 = <real4>[_t2CA6,_f35DE,_f35DE,_t2CA6];
          real _f35D9#1 = -0.166666666667e0;
          real _f35DA#1 = 0.5e0;
          real _f35DB#1 = -0.5e0;
          real _f35DC#1 = 0.166666666667e0;
          real4 a335D8#4 = <real4>[_f35D9,_f35DA,_f35DB,_f35DC];
          real4 prod335E9#1 = Mul<real4>(a35D2,a335D8);
          real4 sum235EA#1 = Add<real4>(a235D7,prod335E9);
          real4 prod235EB#1 = Mul<real4>(a35D2,sum235EA);
          real4 sum135EC#1 = Add<real4>(a135D6,prod235EB);
          real4 prod135ED#1 = Mul<real4>(a35D2,sum135EC);
          real4 hy35D4#1 = Add<real4>(a035D5,prod135ED);
          real fx3608#4 = Index<real2,0>(f3586);
          real t3360A#1 = Add<real>(fx3608,_t2CA6);
          real t1360C#1 = Sub<real>(fx3608,_t2CA6);
          real t0360E#1 = Sub<real>(fx3608,_t2CA8);
          real4 a3610#3 = <real4>[t3360A,fx3608,t1360C,t0360E];
          real4 prod33627#1 = Mul<real4>(a3610,a335D8);
          real4 sum23628#1 = Add<real4>(a235D7,prod33627);
          real4 prod23629#1 = Mul<real4>(a3610,sum23628);
          real4 sum1362A#1 = Add<real4>(a135D6,prod23629);
          real4 prod1362B#1 = Mul<real4>(a3610,sum1362A);
          real4 hx3612#4 = Add<real4>(a035D5,prod1362B);
          real t03646#1 = Dot<4>(v0359E,hx3612);
          real t13648#1 = Dot<4>(v135AC,hx3612);
          real t2364A#1 = Dot<4>(v235BA,hx3612);
          real t3364C#1 = Dot<4>(v335C8,hx3612);
          real4 tv364E#1 = <real4>[t03646,t13648,t2364A,t3364C];
          real _t3650#1 = Dot<4>(hy35D4,tv364E);
          real2 x3652#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v052C3F);
          real2 nd3654#2 = Floor<2>(x3652);
          real2 f3656#2 = Sub<real2>(x3652,nd3654);
          int{2} n3658#2 = RealToInt<2>(nd3654);
          int t2365A#1 = Index<int{2},0>(n3658);
          int ix365C#4 = Add<int>(t1358A,t2365A);
          int t2365E#4 = Index<int{2},1>(n3658);
          int iy3660#1 = Add<int>(t1358A,t2365E);
          int t3664#1 = Mul<int>(n03595,iy3660);
          int index3665#1 = Add<int>(ix365C,t3664);
          addr(IMAGE2D<int>) imgBaseAddr3666#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a3662#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3666,index3665);
          real4 v0366C#1 = LoadVoxels<IMAGE2D<int>,4>(a3662);
          int iy366E#1 = Add<int>(_t2CCE,t2365E);
          int t3672#1 = Mul<int>(n03595,iy366E);
          int index3673#1 = Add<int>(ix365C,t3672);
          addr(IMAGE2D<int>) a3670#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3666,index3673);
          real4 v1367A#1 = LoadVoxels<IMAGE2D<int>,4>(a3670);
          int iy367C#1 = Add<int>(_t2CD2,t2365E);
          int t3680#1 = Mul<int>(n03595,iy367C);
          int index3681#1 = Add<int>(ix365C,t3680);
          addr(IMAGE2D<int>) a367E#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3666,index3681);
          real4 v23688#1 = LoadVoxels<IMAGE2D<int>,4>(a367E);
          int iy368A#1 = Add<int>(_t2CAA,t2365E);
          int t368E#1 = Mul<int>(n03595,iy368A);
          int index368F#1 = Add<int>(ix365C,t368E);
          addr(IMAGE2D<int>) a368C#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3666,index368F);
          real4 v33696#1 = LoadVoxels<IMAGE2D<int>,4>(a368C);
          real fy3698#4 = Index<real2,1>(f3656);
          real t3369A#1 = Add<real>(fy3698,_t2CA6);
          real t1369C#1 = Sub<real>(fy3698,_t2CA6);
          real t0369E#1 = Sub<real>(fy3698,_t2CA8);
          real4 a36A0#3 = <real4>[t3369A,fy3698,t1369C,t0369E];
          real4 prod336B7#1 = Mul<real4>(a36A0,a335D8);
          real4 sum236B8#1 = Add<real4>(a235D7,prod336B7);
          real4 prod236B9#1 = Mul<real4>(a36A0,sum236B8);
          real4 sum136BA#1 = Add<real4>(a135D6,prod236B9);
          real4 prod136BB#1 = Mul<real4>(a36A0,sum136BA);
          real4 hy36A2#1 = Add<real4>(a035D5,prod136BB);
          real fx36D6#4 = Index<real2,0>(f3656);
          real t336D8#1 = Add<real>(fx36D6,_t2CA6);
          real t136DA#1 = Sub<real>(fx36D6,_t2CA6);
          real t036DC#1 = Sub<real>(fx36D6,_t2CA8);
          real4 a36DE#3 = <real4>[t336D8,fx36D6,t136DA,t036DC];
          real4 prod336F5#1 = Mul<real4>(a36DE,a335D8);
          real4 sum236F6#1 = Add<real4>(a235D7,prod336F5);
          real4 prod236F7#1 = Mul<real4>(a36DE,sum236F6);
          real4 sum136F8#1 = Add<real4>(a135D6,prod236F7);
          real4 prod136F9#1 = Mul<real4>(a36DE,sum136F8);
          real4 hx36E0#4 = Add<real4>(a035D5,prod136F9);
          real t03714#1 = Dot<4>(v0366C,hx36E0);
          real t13716#1 = Dot<4>(v1367A,hx36E0);
          real t23718#1 = Dot<4>(v23688,hx36E0);
          real t3371A#1 = Dot<4>(v33696,hx36E0);
          real4 tv371C#1 = <real4>[t03714,t13716,t23718,t3371A];
          real _t371E#1 = Dot<4>(hy36A2,tv371C);
          real _t3720#2 = Sub<real>(_t3650,_t371E);
          real _t3722#1 = Mul<real>(_t3720,_t3720);
          real score3724#1 = Add<real>(score356D,_t3722);
          goto JOIN3727
        JOIN3727:  preds = [ASSIGN3725,COND3583]
          real score3726#2 = phi(score3724,score356D)
          real _t3728#1 = Dot<2>(r02CC0,v062C41);
          real _t372A#1 = Dot<2>(r12CC6,v062C41);
          real2 _t372C#1 = <real2>[_t3728,_t372A];
          real2 pos372E#1 = Add<real2>(_t372C,_t2CD6);
          real2 x3730#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos372E);
          bool _t3732#1 = Inside<IMAGE2D<float>,2>(x3730,_t2C29);
          if _t3732 then goto ASSIGN3736 else goto ASSIGN57FB
        ASSIGN3736:  preds = [COND3734]
          real2 x3735#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v062C41);
          bool _t3737#1 = Inside<IMAGE2D<int>,2>(x3735,_t2C25);
          goto JOIN373B
        JOIN373B:  preds = [ASSIGN3738,ASSIGN57FB]
          bool _t3739#1 = phi(_t3737,_t373A)
          if _t3739 then goto ASSIGN373E else goto JOIN38E0
        ASSIGN373E:  preds = [COND373C]
          real2 nd373D#2 = Floor<2>(x3730);
          real2 f373F#2 = Sub<real2>(x3730,nd373D);
          int{2} n3741#2 = RealToInt<2>(nd373D);
          int t13743#4 = -1;
          int t23745#1 = Index<int{2},0>(n3741);
          int ix3747#4 = Add<int>(t13743,t23745);
          int t23749#4 = Index<int{2},1>(n3741);
          int iy374B#1 = Add<int>(t13743,t23749);
          int n0374E#8 = 21;
          int t374F#1 = Mul<int>(n0374E,iy374B);
          int index3750#1 = Add<int>(ix3747,t374F);
          addr(IMAGE2D<float>) imgBaseAddr3751#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a374D#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3751,index3750);
          real4 v03757#1 = LoadVoxels<IMAGE2D<float>,4>(a374D);
          int iy3759#1 = Add<int>(_t2CCE,t23749);
          int t375D#1 = Mul<int>(n0374E,iy3759);
          int index375E#1 = Add<int>(ix3747,t375D);
          addr(IMAGE2D<float>) a375B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3751,index375E);
          real4 v13765#1 = LoadVoxels<IMAGE2D<float>,4>(a375B);
          int iy3767#1 = Add<int>(_t2CD2,t23749);
          int t376B#1 = Mul<int>(n0374E,iy3767);
          int index376C#1 = Add<int>(ix3747,t376B);
          addr(IMAGE2D<float>) a3769#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3751,index376C);
          real4 v23773#1 = LoadVoxels<IMAGE2D<float>,4>(a3769);
          int iy3775#1 = Add<int>(_t2CAA,t23749);
          int t3779#1 = Mul<int>(n0374E,iy3775);
          int index377A#1 = Add<int>(ix3747,t3779);
          addr(IMAGE2D<float>) a3777#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3751,index377A);
          real4 v33781#1 = LoadVoxels<IMAGE2D<float>,4>(a3777);
          real fy3783#4 = Index<real2,1>(f373F);
          real t33785#1 = Add<real>(fy3783,_t2CA6);
          real t13787#1 = Sub<real>(fy3783,_t2CA6);
          real t03789#1 = Sub<real>(fy3783,_t2CA8);
          real4 a378B#3 = <real4>[t33785,fy3783,t13787,t03789];
          real _f379E#2 = 0.133333333333e1;
          real _f379F#2 = 0.666666666667e0;
          real4 a0378E#4 = <real4>[_f379E,_f379F,_f379F,_f379E];
          real _f379A#1 = -0.2e1;
          real _f379B#2 = 0.0;
          real4 a1378F#4 = <real4>[_f379A,_f379B,_f379B,_t2CA8];
          real _f3797#2 = -0.1e1;
          real4 a23790#4 = <real4>[_t2CA6,_f3797,_f3797,_t2CA6];
          real _f3792#1 = -0.166666666667e0;
          real _f3793#1 = 0.5e0;
          real _f3794#1 = -0.5e0;
          real _f3795#1 = 0.166666666667e0;
          real4 a33791#4 = <real4>[_f3792,_f3793,_f3794,_f3795];
          real4 prod337A2#1 = Mul<real4>(a378B,a33791);
          real4 sum237A3#1 = Add<real4>(a23790,prod337A2);
          real4 prod237A4#1 = Mul<real4>(a378B,sum237A3);
          real4 sum137A5#1 = Add<real4>(a1378F,prod237A4);
          real4 prod137A6#1 = Mul<real4>(a378B,sum137A5);
          real4 hy378D#1 = Add<real4>(a0378E,prod137A6);
          real fx37C1#4 = Index<real2,0>(f373F);
          real t337C3#1 = Add<real>(fx37C1,_t2CA6);
          real t137C5#1 = Sub<real>(fx37C1,_t2CA6);
          real t037C7#1 = Sub<real>(fx37C1,_t2CA8);
          real4 a37C9#3 = <real4>[t337C3,fx37C1,t137C5,t037C7];
          real4 prod337E0#1 = Mul<real4>(a37C9,a33791);
          real4 sum237E1#1 = Add<real4>(a23790,prod337E0);
          real4 prod237E2#1 = Mul<real4>(a37C9,sum237E1);
          real4 sum137E3#1 = Add<real4>(a1378F,prod237E2);
          real4 prod137E4#1 = Mul<real4>(a37C9,sum137E3);
          real4 hx37CB#4 = Add<real4>(a0378E,prod137E4);
          real t037FF#1 = Dot<4>(v03757,hx37CB);
          real t13801#1 = Dot<4>(v13765,hx37CB);
          real t23803#1 = Dot<4>(v23773,hx37CB);
          real t33805#1 = Dot<4>(v33781,hx37CB);
          real4 tv3807#1 = <real4>[t037FF,t13801,t23803,t33805];
          real _t3809#1 = Dot<4>(hy378D,tv3807);
          real2 x380B#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v062C41);
          real2 nd380D#2 = Floor<2>(x380B);
          real2 f380F#2 = Sub<real2>(x380B,nd380D);
          int{2} n3811#2 = RealToInt<2>(nd380D);
          int t23813#1 = Index<int{2},0>(n3811);
          int ix3815#4 = Add<int>(t13743,t23813);
          int t23817#4 = Index<int{2},1>(n3811);
          int iy3819#1 = Add<int>(t13743,t23817);
          int t381D#1 = Mul<int>(n0374E,iy3819);
          int index381E#1 = Add<int>(ix3815,t381D);
          addr(IMAGE2D<int>) imgBaseAddr381F#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a381B#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr381F,index381E);
          real4 v03825#1 = LoadVoxels<IMAGE2D<int>,4>(a381B);
          int iy3827#1 = Add<int>(_t2CCE,t23817);
          int t382B#1 = Mul<int>(n0374E,iy3827);
          int index382C#1 = Add<int>(ix3815,t382B);
          addr(IMAGE2D<int>) a3829#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr381F,index382C);
          real4 v13833#1 = LoadVoxels<IMAGE2D<int>,4>(a3829);
          int iy3835#1 = Add<int>(_t2CD2,t23817);
          int t3839#1 = Mul<int>(n0374E,iy3835);
          int index383A#1 = Add<int>(ix3815,t3839);
          addr(IMAGE2D<int>) a3837#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr381F,index383A);
          real4 v23841#1 = LoadVoxels<IMAGE2D<int>,4>(a3837);
          int iy3843#1 = Add<int>(_t2CAA,t23817);
          int t3847#1 = Mul<int>(n0374E,iy3843);
          int index3848#1 = Add<int>(ix3815,t3847);
          addr(IMAGE2D<int>) a3845#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr381F,index3848);
          real4 v3384F#1 = LoadVoxels<IMAGE2D<int>,4>(a3845);
          real fy3851#4 = Index<real2,1>(f380F);
          real t33853#1 = Add<real>(fy3851,_t2CA6);
          real t13855#1 = Sub<real>(fy3851,_t2CA6);
          real t03857#1 = Sub<real>(fy3851,_t2CA8);
          real4 a3859#3 = <real4>[t33853,fy3851,t13855,t03857];
          real4 prod33870#1 = Mul<real4>(a3859,a33791);
          real4 sum23871#1 = Add<real4>(a23790,prod33870);
          real4 prod23872#1 = Mul<real4>(a3859,sum23871);
          real4 sum13873#1 = Add<real4>(a1378F,prod23872);
          real4 prod13874#1 = Mul<real4>(a3859,sum13873);
          real4 hy385B#1 = Add<real4>(a0378E,prod13874);
          real fx388F#4 = Index<real2,0>(f380F);
          real t33891#1 = Add<real>(fx388F,_t2CA6);
          real t13893#1 = Sub<real>(fx388F,_t2CA6);
          real t03895#1 = Sub<real>(fx388F,_t2CA8);
          real4 a3897#3 = <real4>[t33891,fx388F,t13893,t03895];
          real4 prod338AE#1 = Mul<real4>(a3897,a33791);
          real4 sum238AF#1 = Add<real4>(a23790,prod338AE);
          real4 prod238B0#1 = Mul<real4>(a3897,sum238AF);
          real4 sum138B1#1 = Add<real4>(a1378F,prod238B0);
          real4 prod138B2#1 = Mul<real4>(a3897,sum138B1);
          real4 hx3899#4 = Add<real4>(a0378E,prod138B2);
          real t038CD#1 = Dot<4>(v03825,hx3899);
          real t138CF#1 = Dot<4>(v13833,hx3899);
          real t238D1#1 = Dot<4>(v23841,hx3899);
          real t338D3#1 = Dot<4>(v3384F,hx3899);
          real4 tv38D5#1 = <real4>[t038CD,t138CF,t238D1,t338D3];
          real _t38D7#1 = Dot<4>(hy385B,tv38D5);
          real _t38D9#2 = Sub<real>(_t3809,_t38D7);
          real _t38DB#1 = Mul<real>(_t38D9,_t38D9);
          real score38DD#1 = Add<real>(score3726,_t38DB);
          goto JOIN38E0
        JOIN38E0:  preds = [ASSIGN38DE,COND373C]
          real score38DF#2 = phi(score38DD,score3726)
          real _t38E1#1 = Dot<2>(r02CC0,v072C43);
          real _t38E3#1 = Dot<2>(r12CC6,v072C43);
          real2 _t38E5#1 = <real2>[_t38E1,_t38E3];
          real2 pos38E7#1 = Add<real2>(_t38E5,_t2CD6);
          real2 x38E9#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos38E7);
          bool _t38EB#1 = Inside<IMAGE2D<float>,2>(x38E9,_t2C29);
          if _t38EB then goto ASSIGN38EF else goto ASSIGN57FA
        ASSIGN38EF:  preds = [COND38ED]
          real2 x38EE#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v072C43);
          bool _t38F0#1 = Inside<IMAGE2D<int>,2>(x38EE,_t2C25);
          goto JOIN38F4
        JOIN38F4:  preds = [ASSIGN38F1,ASSIGN57FA]
          bool _t38F2#1 = phi(_t38F0,_t38F3)
          if _t38F2 then goto ASSIGN38F7 else goto JOIN3A99
        ASSIGN38F7:  preds = [COND38F5]
          real2 nd38F6#2 = Floor<2>(x38E9);
          real2 f38F8#2 = Sub<real2>(x38E9,nd38F6);
          int{2} n38FA#2 = RealToInt<2>(nd38F6);
          int t138FC#4 = -1;
          int t238FE#1 = Index<int{2},0>(n38FA);
          int ix3900#4 = Add<int>(t138FC,t238FE);
          int t23902#4 = Index<int{2},1>(n38FA);
          int iy3904#1 = Add<int>(t138FC,t23902);
          int n03907#8 = 21;
          int t3908#1 = Mul<int>(n03907,iy3904);
          int index3909#1 = Add<int>(ix3900,t3908);
          addr(IMAGE2D<float>) imgBaseAddr390A#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a3906#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr390A,index3909);
          real4 v03910#1 = LoadVoxels<IMAGE2D<float>,4>(a3906);
          int iy3912#1 = Add<int>(_t2CCE,t23902);
          int t3916#1 = Mul<int>(n03907,iy3912);
          int index3917#1 = Add<int>(ix3900,t3916);
          addr(IMAGE2D<float>) a3914#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr390A,index3917);
          real4 v1391E#1 = LoadVoxels<IMAGE2D<float>,4>(a3914);
          int iy3920#1 = Add<int>(_t2CD2,t23902);
          int t3924#1 = Mul<int>(n03907,iy3920);
          int index3925#1 = Add<int>(ix3900,t3924);
          addr(IMAGE2D<float>) a3922#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr390A,index3925);
          real4 v2392C#1 = LoadVoxels<IMAGE2D<float>,4>(a3922);
          int iy392E#1 = Add<int>(_t2CAA,t23902);
          int t3932#1 = Mul<int>(n03907,iy392E);
          int index3933#1 = Add<int>(ix3900,t3932);
          addr(IMAGE2D<float>) a3930#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr390A,index3933);
          real4 v3393A#1 = LoadVoxels<IMAGE2D<float>,4>(a3930);
          real fy393C#4 = Index<real2,1>(f38F8);
          real t3393E#1 = Add<real>(fy393C,_t2CA6);
          real t13940#1 = Sub<real>(fy393C,_t2CA6);
          real t03942#1 = Sub<real>(fy393C,_t2CA8);
          real4 a3944#3 = <real4>[t3393E,fy393C,t13940,t03942];
          real _f3957#2 = 0.133333333333e1;
          real _f3958#2 = 0.666666666667e0;
          real4 a03947#4 = <real4>[_f3957,_f3958,_f3958,_f3957];
          real _f3953#1 = -0.2e1;
          real _f3954#2 = 0.0;
          real4 a13948#4 = <real4>[_f3953,_f3954,_f3954,_t2CA8];
          real _f3950#2 = -0.1e1;
          real4 a23949#4 = <real4>[_t2CA6,_f3950,_f3950,_t2CA6];
          real _f394B#1 = -0.166666666667e0;
          real _f394C#1 = 0.5e0;
          real _f394D#1 = -0.5e0;
          real _f394E#1 = 0.166666666667e0;
          real4 a3394A#4 = <real4>[_f394B,_f394C,_f394D,_f394E];
          real4 prod3395B#1 = Mul<real4>(a3944,a3394A);
          real4 sum2395C#1 = Add<real4>(a23949,prod3395B);
          real4 prod2395D#1 = Mul<real4>(a3944,sum2395C);
          real4 sum1395E#1 = Add<real4>(a13948,prod2395D);
          real4 prod1395F#1 = Mul<real4>(a3944,sum1395E);
          real4 hy3946#1 = Add<real4>(a03947,prod1395F);
          real fx397A#4 = Index<real2,0>(f38F8);
          real t3397C#1 = Add<real>(fx397A,_t2CA6);
          real t1397E#1 = Sub<real>(fx397A,_t2CA6);
          real t03980#1 = Sub<real>(fx397A,_t2CA8);
          real4 a3982#3 = <real4>[t3397C,fx397A,t1397E,t03980];
          real4 prod33999#1 = Mul<real4>(a3982,a3394A);
          real4 sum2399A#1 = Add<real4>(a23949,prod33999);
          real4 prod2399B#1 = Mul<real4>(a3982,sum2399A);
          real4 sum1399C#1 = Add<real4>(a13948,prod2399B);
          real4 prod1399D#1 = Mul<real4>(a3982,sum1399C);
          real4 hx3984#4 = Add<real4>(a03947,prod1399D);
          real t039B8#1 = Dot<4>(v03910,hx3984);
          real t139BA#1 = Dot<4>(v1391E,hx3984);
          real t239BC#1 = Dot<4>(v2392C,hx3984);
          real t339BE#1 = Dot<4>(v3393A,hx3984);
          real4 tv39C0#1 = <real4>[t039B8,t139BA,t239BC,t339BE];
          real _t39C2#1 = Dot<4>(hy3946,tv39C0);
          real2 x39C4#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v072C43);
          real2 nd39C6#2 = Floor<2>(x39C4);
          real2 f39C8#2 = Sub<real2>(x39C4,nd39C6);
          int{2} n39CA#2 = RealToInt<2>(nd39C6);
          int t239CC#1 = Index<int{2},0>(n39CA);
          int ix39CE#4 = Add<int>(t138FC,t239CC);
          int t239D0#4 = Index<int{2},1>(n39CA);
          int iy39D2#1 = Add<int>(t138FC,t239D0);
          int t39D6#1 = Mul<int>(n03907,iy39D2);
          int index39D7#1 = Add<int>(ix39CE,t39D6);
          addr(IMAGE2D<int>) imgBaseAddr39D8#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a39D4#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr39D8,index39D7);
          real4 v039DE#1 = LoadVoxels<IMAGE2D<int>,4>(a39D4);
          int iy39E0#1 = Add<int>(_t2CCE,t239D0);
          int t39E4#1 = Mul<int>(n03907,iy39E0);
          int index39E5#1 = Add<int>(ix39CE,t39E4);
          addr(IMAGE2D<int>) a39E2#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr39D8,index39E5);
          real4 v139EC#1 = LoadVoxels<IMAGE2D<int>,4>(a39E2);
          int iy39EE#1 = Add<int>(_t2CD2,t239D0);
          int t39F2#1 = Mul<int>(n03907,iy39EE);
          int index39F3#1 = Add<int>(ix39CE,t39F2);
          addr(IMAGE2D<int>) a39F0#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr39D8,index39F3);
          real4 v239FA#1 = LoadVoxels<IMAGE2D<int>,4>(a39F0);
          int iy39FC#1 = Add<int>(_t2CAA,t239D0);
          int t3A00#1 = Mul<int>(n03907,iy39FC);
          int index3A01#1 = Add<int>(ix39CE,t3A00);
          addr(IMAGE2D<int>) a39FE#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr39D8,index3A01);
          real4 v33A08#1 = LoadVoxels<IMAGE2D<int>,4>(a39FE);
          real fy3A0A#4 = Index<real2,1>(f39C8);
          real t33A0C#1 = Add<real>(fy3A0A,_t2CA6);
          real t13A0E#1 = Sub<real>(fy3A0A,_t2CA6);
          real t03A10#1 = Sub<real>(fy3A0A,_t2CA8);
          real4 a3A12#3 = <real4>[t33A0C,fy3A0A,t13A0E,t03A10];
          real4 prod33A29#1 = Mul<real4>(a3A12,a3394A);
          real4 sum23A2A#1 = Add<real4>(a23949,prod33A29);
          real4 prod23A2B#1 = Mul<real4>(a3A12,sum23A2A);
          real4 sum13A2C#1 = Add<real4>(a13948,prod23A2B);
          real4 prod13A2D#1 = Mul<real4>(a3A12,sum13A2C);
          real4 hy3A14#1 = Add<real4>(a03947,prod13A2D);
          real fx3A48#4 = Index<real2,0>(f39C8);
          real t33A4A#1 = Add<real>(fx3A48,_t2CA6);
          real t13A4C#1 = Sub<real>(fx3A48,_t2CA6);
          real t03A4E#1 = Sub<real>(fx3A48,_t2CA8);
          real4 a3A50#3 = <real4>[t33A4A,fx3A48,t13A4C,t03A4E];
          real4 prod33A67#1 = Mul<real4>(a3A50,a3394A);
          real4 sum23A68#1 = Add<real4>(a23949,prod33A67);
          real4 prod23A69#1 = Mul<real4>(a3A50,sum23A68);
          real4 sum13A6A#1 = Add<real4>(a13948,prod23A69);
          real4 prod13A6B#1 = Mul<real4>(a3A50,sum13A6A);
          real4 hx3A52#4 = Add<real4>(a03947,prod13A6B);
          real t03A86#1 = Dot<4>(v039DE,hx3A52);
          real t13A88#1 = Dot<4>(v139EC,hx3A52);
          real t23A8A#1 = Dot<4>(v239FA,hx3A52);
          real t33A8C#1 = Dot<4>(v33A08,hx3A52);
          real4 tv3A8E#1 = <real4>[t03A86,t13A88,t23A8A,t33A8C];
          real _t3A90#1 = Dot<4>(hy3A14,tv3A8E);
          real _t3A92#2 = Sub<real>(_t39C2,_t3A90);
          real _t3A94#1 = Mul<real>(_t3A92,_t3A92);
          real score3A96#1 = Add<real>(score38DF,_t3A94);
          goto JOIN3A99
        JOIN3A99:  preds = [ASSIGN3A97,COND38F5]
          real score3A98#2 = phi(score3A96,score38DF)
          real _t3A9A#1 = Dot<2>(r02CC0,v082C45);
          real _t3A9C#1 = Dot<2>(r12CC6,v082C45);
          real2 _t3A9E#1 = <real2>[_t3A9A,_t3A9C];
          real2 pos3AA0#1 = Add<real2>(_t3A9E,_t2CD6);
          real2 x3AA2#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos3AA0);
          bool _t3AA4#1 = Inside<IMAGE2D<float>,2>(x3AA2,_t2C29);
          if _t3AA4 then goto ASSIGN3AA8 else goto ASSIGN57F9
        ASSIGN3AA8:  preds = [COND3AA6]
          real2 x3AA7#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v082C45);
          bool _t3AA9#1 = Inside<IMAGE2D<int>,2>(x3AA7,_t2C25);
          goto JOIN3AAD
        JOIN3AAD:  preds = [ASSIGN3AAA,ASSIGN57F9]
          bool _t3AAB#1 = phi(_t3AA9,_t3AAC)
          if _t3AAB then goto ASSIGN3AB0 else goto JOIN3C52
        ASSIGN3AB0:  preds = [COND3AAE]
          real2 nd3AAF#2 = Floor<2>(x3AA2);
          real2 f3AB1#2 = Sub<real2>(x3AA2,nd3AAF);
          int{2} n3AB3#2 = RealToInt<2>(nd3AAF);
          int t13AB5#4 = -1;
          int t23AB7#1 = Index<int{2},0>(n3AB3);
          int ix3AB9#4 = Add<int>(t13AB5,t23AB7);
          int t23ABB#4 = Index<int{2},1>(n3AB3);
          int iy3ABD#1 = Add<int>(t13AB5,t23ABB);
          int n03AC0#8 = 21;
          int t3AC1#1 = Mul<int>(n03AC0,iy3ABD);
          int index3AC2#1 = Add<int>(ix3AB9,t3AC1);
          addr(IMAGE2D<float>) imgBaseAddr3AC3#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a3ABF#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3AC3,index3AC2);
          real4 v03AC9#1 = LoadVoxels<IMAGE2D<float>,4>(a3ABF);
          int iy3ACB#1 = Add<int>(_t2CCE,t23ABB);
          int t3ACF#1 = Mul<int>(n03AC0,iy3ACB);
          int index3AD0#1 = Add<int>(ix3AB9,t3ACF);
          addr(IMAGE2D<float>) a3ACD#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3AC3,index3AD0);
          real4 v13AD7#1 = LoadVoxels<IMAGE2D<float>,4>(a3ACD);
          int iy3AD9#1 = Add<int>(_t2CD2,t23ABB);
          int t3ADD#1 = Mul<int>(n03AC0,iy3AD9);
          int index3ADE#1 = Add<int>(ix3AB9,t3ADD);
          addr(IMAGE2D<float>) a3ADB#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3AC3,index3ADE);
          real4 v23AE5#1 = LoadVoxels<IMAGE2D<float>,4>(a3ADB);
          int iy3AE7#1 = Add<int>(_t2CAA,t23ABB);
          int t3AEB#1 = Mul<int>(n03AC0,iy3AE7);
          int index3AEC#1 = Add<int>(ix3AB9,t3AEB);
          addr(IMAGE2D<float>) a3AE9#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3AC3,index3AEC);
          real4 v33AF3#1 = LoadVoxels<IMAGE2D<float>,4>(a3AE9);
          real fy3AF5#4 = Index<real2,1>(f3AB1);
          real t33AF7#1 = Add<real>(fy3AF5,_t2CA6);
          real t13AF9#1 = Sub<real>(fy3AF5,_t2CA6);
          real t03AFB#1 = Sub<real>(fy3AF5,_t2CA8);
          real4 a3AFD#3 = <real4>[t33AF7,fy3AF5,t13AF9,t03AFB];
          real _f3B10#2 = 0.133333333333e1;
          real _f3B11#2 = 0.666666666667e0;
          real4 a03B00#4 = <real4>[_f3B10,_f3B11,_f3B11,_f3B10];
          real _f3B0C#1 = -0.2e1;
          real _f3B0D#2 = 0.0;
          real4 a13B01#4 = <real4>[_f3B0C,_f3B0D,_f3B0D,_t2CA8];
          real _f3B09#2 = -0.1e1;
          real4 a23B02#4 = <real4>[_t2CA6,_f3B09,_f3B09,_t2CA6];
          real _f3B04#1 = -0.166666666667e0;
          real _f3B05#1 = 0.5e0;
          real _f3B06#1 = -0.5e0;
          real _f3B07#1 = 0.166666666667e0;
          real4 a33B03#4 = <real4>[_f3B04,_f3B05,_f3B06,_f3B07];
          real4 prod33B14#1 = Mul<real4>(a3AFD,a33B03);
          real4 sum23B15#1 = Add<real4>(a23B02,prod33B14);
          real4 prod23B16#1 = Mul<real4>(a3AFD,sum23B15);
          real4 sum13B17#1 = Add<real4>(a13B01,prod23B16);
          real4 prod13B18#1 = Mul<real4>(a3AFD,sum13B17);
          real4 hy3AFF#1 = Add<real4>(a03B00,prod13B18);
          real fx3B33#4 = Index<real2,0>(f3AB1);
          real t33B35#1 = Add<real>(fx3B33,_t2CA6);
          real t13B37#1 = Sub<real>(fx3B33,_t2CA6);
          real t03B39#1 = Sub<real>(fx3B33,_t2CA8);
          real4 a3B3B#3 = <real4>[t33B35,fx3B33,t13B37,t03B39];
          real4 prod33B52#1 = Mul<real4>(a3B3B,a33B03);
          real4 sum23B53#1 = Add<real4>(a23B02,prod33B52);
          real4 prod23B54#1 = Mul<real4>(a3B3B,sum23B53);
          real4 sum13B55#1 = Add<real4>(a13B01,prod23B54);
          real4 prod13B56#1 = Mul<real4>(a3B3B,sum13B55);
          real4 hx3B3D#4 = Add<real4>(a03B00,prod13B56);
          real t03B71#1 = Dot<4>(v03AC9,hx3B3D);
          real t13B73#1 = Dot<4>(v13AD7,hx3B3D);
          real t23B75#1 = Dot<4>(v23AE5,hx3B3D);
          real t33B77#1 = Dot<4>(v33AF3,hx3B3D);
          real4 tv3B79#1 = <real4>[t03B71,t13B73,t23B75,t33B77];
          real _t3B7B#1 = Dot<4>(hy3AFF,tv3B79);
          real2 x3B7D#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v082C45);
          real2 nd3B7F#2 = Floor<2>(x3B7D);
          real2 f3B81#2 = Sub<real2>(x3B7D,nd3B7F);
          int{2} n3B83#2 = RealToInt<2>(nd3B7F);
          int t23B85#1 = Index<int{2},0>(n3B83);
          int ix3B87#4 = Add<int>(t13AB5,t23B85);
          int t23B89#4 = Index<int{2},1>(n3B83);
          int iy3B8B#1 = Add<int>(t13AB5,t23B89);
          int t3B8F#1 = Mul<int>(n03AC0,iy3B8B);
          int index3B90#1 = Add<int>(ix3B87,t3B8F);
          addr(IMAGE2D<int>) imgBaseAddr3B91#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a3B8D#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3B91,index3B90);
          real4 v03B97#1 = LoadVoxels<IMAGE2D<int>,4>(a3B8D);
          int iy3B99#1 = Add<int>(_t2CCE,t23B89);
          int t3B9D#1 = Mul<int>(n03AC0,iy3B99);
          int index3B9E#1 = Add<int>(ix3B87,t3B9D);
          addr(IMAGE2D<int>) a3B9B#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3B91,index3B9E);
          real4 v13BA5#1 = LoadVoxels<IMAGE2D<int>,4>(a3B9B);
          int iy3BA7#1 = Add<int>(_t2CD2,t23B89);
          int t3BAB#1 = Mul<int>(n03AC0,iy3BA7);
          int index3BAC#1 = Add<int>(ix3B87,t3BAB);
          addr(IMAGE2D<int>) a3BA9#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3B91,index3BAC);
          real4 v23BB3#1 = LoadVoxels<IMAGE2D<int>,4>(a3BA9);
          int iy3BB5#1 = Add<int>(_t2CAA,t23B89);
          int t3BB9#1 = Mul<int>(n03AC0,iy3BB5);
          int index3BBA#1 = Add<int>(ix3B87,t3BB9);
          addr(IMAGE2D<int>) a3BB7#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3B91,index3BBA);
          real4 v33BC1#1 = LoadVoxels<IMAGE2D<int>,4>(a3BB7);
          real fy3BC3#4 = Index<real2,1>(f3B81);
          real t33BC5#1 = Add<real>(fy3BC3,_t2CA6);
          real t13BC7#1 = Sub<real>(fy3BC3,_t2CA6);
          real t03BC9#1 = Sub<real>(fy3BC3,_t2CA8);
          real4 a3BCB#3 = <real4>[t33BC5,fy3BC3,t13BC7,t03BC9];
          real4 prod33BE2#1 = Mul<real4>(a3BCB,a33B03);
          real4 sum23BE3#1 = Add<real4>(a23B02,prod33BE2);
          real4 prod23BE4#1 = Mul<real4>(a3BCB,sum23BE3);
          real4 sum13BE5#1 = Add<real4>(a13B01,prod23BE4);
          real4 prod13BE6#1 = Mul<real4>(a3BCB,sum13BE5);
          real4 hy3BCD#1 = Add<real4>(a03B00,prod13BE6);
          real fx3C01#4 = Index<real2,0>(f3B81);
          real t33C03#1 = Add<real>(fx3C01,_t2CA6);
          real t13C05#1 = Sub<real>(fx3C01,_t2CA6);
          real t03C07#1 = Sub<real>(fx3C01,_t2CA8);
          real4 a3C09#3 = <real4>[t33C03,fx3C01,t13C05,t03C07];
          real4 prod33C20#1 = Mul<real4>(a3C09,a33B03);
          real4 sum23C21#1 = Add<real4>(a23B02,prod33C20);
          real4 prod23C22#1 = Mul<real4>(a3C09,sum23C21);
          real4 sum13C23#1 = Add<real4>(a13B01,prod23C22);
          real4 prod13C24#1 = Mul<real4>(a3C09,sum13C23);
          real4 hx3C0B#4 = Add<real4>(a03B00,prod13C24);
          real t03C3F#1 = Dot<4>(v03B97,hx3C0B);
          real t13C41#1 = Dot<4>(v13BA5,hx3C0B);
          real t23C43#1 = Dot<4>(v23BB3,hx3C0B);
          real t33C45#1 = Dot<4>(v33BC1,hx3C0B);
          real4 tv3C47#1 = <real4>[t03C3F,t13C41,t23C43,t33C45];
          real _t3C49#1 = Dot<4>(hy3BCD,tv3C47);
          real _t3C4B#2 = Sub<real>(_t3B7B,_t3C49);
          real _t3C4D#1 = Mul<real>(_t3C4B,_t3C4B);
          real score3C4F#1 = Add<real>(score3A98,_t3C4D);
          goto JOIN3C52
        JOIN3C52:  preds = [ASSIGN3C50,COND3AAE]
          real score3C51#2 = phi(score3C4F,score3A98)
          real _t3C53#1 = Dot<2>(r02CC0,v092C47);
          real _t3C55#1 = Dot<2>(r12CC6,v092C47);
          real2 _t3C57#1 = <real2>[_t3C53,_t3C55];
          real2 pos3C59#1 = Add<real2>(_t3C57,_t2CD6);
          real2 x3C5B#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos3C59);
          bool _t3C5D#1 = Inside<IMAGE2D<float>,2>(x3C5B,_t2C29);
          if _t3C5D then goto ASSIGN3C61 else goto ASSIGN57F8
        ASSIGN3C61:  preds = [COND3C5F]
          real2 x3C60#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v092C47);
          bool _t3C62#1 = Inside<IMAGE2D<int>,2>(x3C60,_t2C25);
          goto JOIN3C66
        JOIN3C66:  preds = [ASSIGN3C63,ASSIGN57F8]
          bool _t3C64#1 = phi(_t3C62,_t3C65)
          if _t3C64 then goto ASSIGN3C69 else goto JOIN3E0B
        ASSIGN3C69:  preds = [COND3C67]
          real2 nd3C68#2 = Floor<2>(x3C5B);
          real2 f3C6A#2 = Sub<real2>(x3C5B,nd3C68);
          int{2} n3C6C#2 = RealToInt<2>(nd3C68);
          int t13C6E#4 = -1;
          int t23C70#1 = Index<int{2},0>(n3C6C);
          int ix3C72#4 = Add<int>(t13C6E,t23C70);
          int t23C74#4 = Index<int{2},1>(n3C6C);
          int iy3C76#1 = Add<int>(t13C6E,t23C74);
          int n03C79#8 = 21;
          int t3C7A#1 = Mul<int>(n03C79,iy3C76);
          int index3C7B#1 = Add<int>(ix3C72,t3C7A);
          addr(IMAGE2D<float>) imgBaseAddr3C7C#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a3C78#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3C7C,index3C7B);
          real4 v03C82#1 = LoadVoxels<IMAGE2D<float>,4>(a3C78);
          int iy3C84#1 = Add<int>(_t2CCE,t23C74);
          int t3C88#1 = Mul<int>(n03C79,iy3C84);
          int index3C89#1 = Add<int>(ix3C72,t3C88);
          addr(IMAGE2D<float>) a3C86#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3C7C,index3C89);
          real4 v13C90#1 = LoadVoxels<IMAGE2D<float>,4>(a3C86);
          int iy3C92#1 = Add<int>(_t2CD2,t23C74);
          int t3C96#1 = Mul<int>(n03C79,iy3C92);
          int index3C97#1 = Add<int>(ix3C72,t3C96);
          addr(IMAGE2D<float>) a3C94#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3C7C,index3C97);
          real4 v23C9E#1 = LoadVoxels<IMAGE2D<float>,4>(a3C94);
          int iy3CA0#1 = Add<int>(_t2CAA,t23C74);
          int t3CA4#1 = Mul<int>(n03C79,iy3CA0);
          int index3CA5#1 = Add<int>(ix3C72,t3CA4);
          addr(IMAGE2D<float>) a3CA2#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3C7C,index3CA5);
          real4 v33CAC#1 = LoadVoxels<IMAGE2D<float>,4>(a3CA2);
          real fy3CAE#4 = Index<real2,1>(f3C6A);
          real t33CB0#1 = Add<real>(fy3CAE,_t2CA6);
          real t13CB2#1 = Sub<real>(fy3CAE,_t2CA6);
          real t03CB4#1 = Sub<real>(fy3CAE,_t2CA8);
          real4 a3CB6#3 = <real4>[t33CB0,fy3CAE,t13CB2,t03CB4];
          real _f3CC9#2 = 0.133333333333e1;
          real _f3CCA#2 = 0.666666666667e0;
          real4 a03CB9#4 = <real4>[_f3CC9,_f3CCA,_f3CCA,_f3CC9];
          real _f3CC5#1 = -0.2e1;
          real _f3CC6#2 = 0.0;
          real4 a13CBA#4 = <real4>[_f3CC5,_f3CC6,_f3CC6,_t2CA8];
          real _f3CC2#2 = -0.1e1;
          real4 a23CBB#4 = <real4>[_t2CA6,_f3CC2,_f3CC2,_t2CA6];
          real _f3CBD#1 = -0.166666666667e0;
          real _f3CBE#1 = 0.5e0;
          real _f3CBF#1 = -0.5e0;
          real _f3CC0#1 = 0.166666666667e0;
          real4 a33CBC#4 = <real4>[_f3CBD,_f3CBE,_f3CBF,_f3CC0];
          real4 prod33CCD#1 = Mul<real4>(a3CB6,a33CBC);
          real4 sum23CCE#1 = Add<real4>(a23CBB,prod33CCD);
          real4 prod23CCF#1 = Mul<real4>(a3CB6,sum23CCE);
          real4 sum13CD0#1 = Add<real4>(a13CBA,prod23CCF);
          real4 prod13CD1#1 = Mul<real4>(a3CB6,sum13CD0);
          real4 hy3CB8#1 = Add<real4>(a03CB9,prod13CD1);
          real fx3CEC#4 = Index<real2,0>(f3C6A);
          real t33CEE#1 = Add<real>(fx3CEC,_t2CA6);
          real t13CF0#1 = Sub<real>(fx3CEC,_t2CA6);
          real t03CF2#1 = Sub<real>(fx3CEC,_t2CA8);
          real4 a3CF4#3 = <real4>[t33CEE,fx3CEC,t13CF0,t03CF2];
          real4 prod33D0B#1 = Mul<real4>(a3CF4,a33CBC);
          real4 sum23D0C#1 = Add<real4>(a23CBB,prod33D0B);
          real4 prod23D0D#1 = Mul<real4>(a3CF4,sum23D0C);
          real4 sum13D0E#1 = Add<real4>(a13CBA,prod23D0D);
          real4 prod13D0F#1 = Mul<real4>(a3CF4,sum13D0E);
          real4 hx3CF6#4 = Add<real4>(a03CB9,prod13D0F);
          real t03D2A#1 = Dot<4>(v03C82,hx3CF6);
          real t13D2C#1 = Dot<4>(v13C90,hx3CF6);
          real t23D2E#1 = Dot<4>(v23C9E,hx3CF6);
          real t33D30#1 = Dot<4>(v33CAC,hx3CF6);
          real4 tv3D32#1 = <real4>[t03D2A,t13D2C,t23D2E,t33D30];
          real _t3D34#1 = Dot<4>(hy3CB8,tv3D32);
          real2 x3D36#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v092C47);
          real2 nd3D38#2 = Floor<2>(x3D36);
          real2 f3D3A#2 = Sub<real2>(x3D36,nd3D38);
          int{2} n3D3C#2 = RealToInt<2>(nd3D38);
          int t23D3E#1 = Index<int{2},0>(n3D3C);
          int ix3D40#4 = Add<int>(t13C6E,t23D3E);
          int t23D42#4 = Index<int{2},1>(n3D3C);
          int iy3D44#1 = Add<int>(t13C6E,t23D42);
          int t3D48#1 = Mul<int>(n03C79,iy3D44);
          int index3D49#1 = Add<int>(ix3D40,t3D48);
          addr(IMAGE2D<int>) imgBaseAddr3D4A#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a3D46#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3D4A,index3D49);
          real4 v03D50#1 = LoadVoxels<IMAGE2D<int>,4>(a3D46);
          int iy3D52#1 = Add<int>(_t2CCE,t23D42);
          int t3D56#1 = Mul<int>(n03C79,iy3D52);
          int index3D57#1 = Add<int>(ix3D40,t3D56);
          addr(IMAGE2D<int>) a3D54#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3D4A,index3D57);
          real4 v13D5E#1 = LoadVoxels<IMAGE2D<int>,4>(a3D54);
          int iy3D60#1 = Add<int>(_t2CD2,t23D42);
          int t3D64#1 = Mul<int>(n03C79,iy3D60);
          int index3D65#1 = Add<int>(ix3D40,t3D64);
          addr(IMAGE2D<int>) a3D62#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3D4A,index3D65);
          real4 v23D6C#1 = LoadVoxels<IMAGE2D<int>,4>(a3D62);
          int iy3D6E#1 = Add<int>(_t2CAA,t23D42);
          int t3D72#1 = Mul<int>(n03C79,iy3D6E);
          int index3D73#1 = Add<int>(ix3D40,t3D72);
          addr(IMAGE2D<int>) a3D70#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3D4A,index3D73);
          real4 v33D7A#1 = LoadVoxels<IMAGE2D<int>,4>(a3D70);
          real fy3D7C#4 = Index<real2,1>(f3D3A);
          real t33D7E#1 = Add<real>(fy3D7C,_t2CA6);
          real t13D80#1 = Sub<real>(fy3D7C,_t2CA6);
          real t03D82#1 = Sub<real>(fy3D7C,_t2CA8);
          real4 a3D84#3 = <real4>[t33D7E,fy3D7C,t13D80,t03D82];
          real4 prod33D9B#1 = Mul<real4>(a3D84,a33CBC);
          real4 sum23D9C#1 = Add<real4>(a23CBB,prod33D9B);
          real4 prod23D9D#1 = Mul<real4>(a3D84,sum23D9C);
          real4 sum13D9E#1 = Add<real4>(a13CBA,prod23D9D);
          real4 prod13D9F#1 = Mul<real4>(a3D84,sum13D9E);
          real4 hy3D86#1 = Add<real4>(a03CB9,prod13D9F);
          real fx3DBA#4 = Index<real2,0>(f3D3A);
          real t33DBC#1 = Add<real>(fx3DBA,_t2CA6);
          real t13DBE#1 = Sub<real>(fx3DBA,_t2CA6);
          real t03DC0#1 = Sub<real>(fx3DBA,_t2CA8);
          real4 a3DC2#3 = <real4>[t33DBC,fx3DBA,t13DBE,t03DC0];
          real4 prod33DD9#1 = Mul<real4>(a3DC2,a33CBC);
          real4 sum23DDA#1 = Add<real4>(a23CBB,prod33DD9);
          real4 prod23DDB#1 = Mul<real4>(a3DC2,sum23DDA);
          real4 sum13DDC#1 = Add<real4>(a13CBA,prod23DDB);
          real4 prod13DDD#1 = Mul<real4>(a3DC2,sum13DDC);
          real4 hx3DC4#4 = Add<real4>(a03CB9,prod13DDD);
          real t03DF8#1 = Dot<4>(v03D50,hx3DC4);
          real t13DFA#1 = Dot<4>(v13D5E,hx3DC4);
          real t23DFC#1 = Dot<4>(v23D6C,hx3DC4);
          real t33DFE#1 = Dot<4>(v33D7A,hx3DC4);
          real4 tv3E00#1 = <real4>[t03DF8,t13DFA,t23DFC,t33DFE];
          real _t3E02#1 = Dot<4>(hy3D86,tv3E00);
          real _t3E04#2 = Sub<real>(_t3D34,_t3E02);
          real _t3E06#1 = Mul<real>(_t3E04,_t3E04);
          real score3E08#1 = Add<real>(score3C51,_t3E06);
          goto JOIN3E0B
        JOIN3E0B:  preds = [ASSIGN3E09,COND3C67]
          real score3E0A#2 = phi(score3E08,score3C51)
          real _t3E0C#1 = Dot<2>(r02CC0,v102C49);
          real _t3E0E#1 = Dot<2>(r12CC6,v102C49);
          real2 _t3E10#1 = <real2>[_t3E0C,_t3E0E];
          real2 pos3E12#1 = Add<real2>(_t3E10,_t2CD6);
          real2 x3E14#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos3E12);
          bool _t3E16#1 = Inside<IMAGE2D<float>,2>(x3E14,_t2C29);
          if _t3E16 then goto ASSIGN3E1A else goto ASSIGN57F7
        ASSIGN3E1A:  preds = [COND3E18]
          real2 x3E19#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v102C49);
          bool _t3E1B#1 = Inside<IMAGE2D<int>,2>(x3E19,_t2C25);
          goto JOIN3E1F
        JOIN3E1F:  preds = [ASSIGN3E1C,ASSIGN57F7]
          bool _t3E1D#1 = phi(_t3E1B,_t3E1E)
          if _t3E1D then goto ASSIGN3E22 else goto JOIN3FC4
        ASSIGN3E22:  preds = [COND3E20]
          real2 nd3E21#2 = Floor<2>(x3E14);
          real2 f3E23#2 = Sub<real2>(x3E14,nd3E21);
          int{2} n3E25#2 = RealToInt<2>(nd3E21);
          int t13E27#4 = -1;
          int t23E29#1 = Index<int{2},0>(n3E25);
          int ix3E2B#4 = Add<int>(t13E27,t23E29);
          int t23E2D#4 = Index<int{2},1>(n3E25);
          int iy3E2F#1 = Add<int>(t13E27,t23E2D);
          int n03E32#8 = 21;
          int t3E33#1 = Mul<int>(n03E32,iy3E2F);
          int index3E34#1 = Add<int>(ix3E2B,t3E33);
          addr(IMAGE2D<float>) imgBaseAddr3E35#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a3E31#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3E35,index3E34);
          real4 v03E3B#1 = LoadVoxels<IMAGE2D<float>,4>(a3E31);
          int iy3E3D#1 = Add<int>(_t2CCE,t23E2D);
          int t3E41#1 = Mul<int>(n03E32,iy3E3D);
          int index3E42#1 = Add<int>(ix3E2B,t3E41);
          addr(IMAGE2D<float>) a3E3F#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3E35,index3E42);
          real4 v13E49#1 = LoadVoxels<IMAGE2D<float>,4>(a3E3F);
          int iy3E4B#1 = Add<int>(_t2CD2,t23E2D);
          int t3E4F#1 = Mul<int>(n03E32,iy3E4B);
          int index3E50#1 = Add<int>(ix3E2B,t3E4F);
          addr(IMAGE2D<float>) a3E4D#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3E35,index3E50);
          real4 v23E57#1 = LoadVoxels<IMAGE2D<float>,4>(a3E4D);
          int iy3E59#1 = Add<int>(_t2CAA,t23E2D);
          int t3E5D#1 = Mul<int>(n03E32,iy3E59);
          int index3E5E#1 = Add<int>(ix3E2B,t3E5D);
          addr(IMAGE2D<float>) a3E5B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3E35,index3E5E);
          real4 v33E65#1 = LoadVoxels<IMAGE2D<float>,4>(a3E5B);
          real fy3E67#4 = Index<real2,1>(f3E23);
          real t33E69#1 = Add<real>(fy3E67,_t2CA6);
          real t13E6B#1 = Sub<real>(fy3E67,_t2CA6);
          real t03E6D#1 = Sub<real>(fy3E67,_t2CA8);
          real4 a3E6F#3 = <real4>[t33E69,fy3E67,t13E6B,t03E6D];
          real _f3E82#2 = 0.133333333333e1;
          real _f3E83#2 = 0.666666666667e0;
          real4 a03E72#4 = <real4>[_f3E82,_f3E83,_f3E83,_f3E82];
          real _f3E7E#1 = -0.2e1;
          real _f3E7F#2 = 0.0;
          real4 a13E73#4 = <real4>[_f3E7E,_f3E7F,_f3E7F,_t2CA8];
          real _f3E7B#2 = -0.1e1;
          real4 a23E74#4 = <real4>[_t2CA6,_f3E7B,_f3E7B,_t2CA6];
          real _f3E76#1 = -0.166666666667e0;
          real _f3E77#1 = 0.5e0;
          real _f3E78#1 = -0.5e0;
          real _f3E79#1 = 0.166666666667e0;
          real4 a33E75#4 = <real4>[_f3E76,_f3E77,_f3E78,_f3E79];
          real4 prod33E86#1 = Mul<real4>(a3E6F,a33E75);
          real4 sum23E87#1 = Add<real4>(a23E74,prod33E86);
          real4 prod23E88#1 = Mul<real4>(a3E6F,sum23E87);
          real4 sum13E89#1 = Add<real4>(a13E73,prod23E88);
          real4 prod13E8A#1 = Mul<real4>(a3E6F,sum13E89);
          real4 hy3E71#1 = Add<real4>(a03E72,prod13E8A);
          real fx3EA5#4 = Index<real2,0>(f3E23);
          real t33EA7#1 = Add<real>(fx3EA5,_t2CA6);
          real t13EA9#1 = Sub<real>(fx3EA5,_t2CA6);
          real t03EAB#1 = Sub<real>(fx3EA5,_t2CA8);
          real4 a3EAD#3 = <real4>[t33EA7,fx3EA5,t13EA9,t03EAB];
          real4 prod33EC4#1 = Mul<real4>(a3EAD,a33E75);
          real4 sum23EC5#1 = Add<real4>(a23E74,prod33EC4);
          real4 prod23EC6#1 = Mul<real4>(a3EAD,sum23EC5);
          real4 sum13EC7#1 = Add<real4>(a13E73,prod23EC6);
          real4 prod13EC8#1 = Mul<real4>(a3EAD,sum13EC7);
          real4 hx3EAF#4 = Add<real4>(a03E72,prod13EC8);
          real t03EE3#1 = Dot<4>(v03E3B,hx3EAF);
          real t13EE5#1 = Dot<4>(v13E49,hx3EAF);
          real t23EE7#1 = Dot<4>(v23E57,hx3EAF);
          real t33EE9#1 = Dot<4>(v33E65,hx3EAF);
          real4 tv3EEB#1 = <real4>[t03EE3,t13EE5,t23EE7,t33EE9];
          real _t3EED#1 = Dot<4>(hy3E71,tv3EEB);
          real2 x3EEF#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v102C49);
          real2 nd3EF1#2 = Floor<2>(x3EEF);
          real2 f3EF3#2 = Sub<real2>(x3EEF,nd3EF1);
          int{2} n3EF5#2 = RealToInt<2>(nd3EF1);
          int t23EF7#1 = Index<int{2},0>(n3EF5);
          int ix3EF9#4 = Add<int>(t13E27,t23EF7);
          int t23EFB#4 = Index<int{2},1>(n3EF5);
          int iy3EFD#1 = Add<int>(t13E27,t23EFB);
          int t3F01#1 = Mul<int>(n03E32,iy3EFD);
          int index3F02#1 = Add<int>(ix3EF9,t3F01);
          addr(IMAGE2D<int>) imgBaseAddr3F03#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a3EFF#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3F03,index3F02);
          real4 v03F09#1 = LoadVoxels<IMAGE2D<int>,4>(a3EFF);
          int iy3F0B#1 = Add<int>(_t2CCE,t23EFB);
          int t3F0F#1 = Mul<int>(n03E32,iy3F0B);
          int index3F10#1 = Add<int>(ix3EF9,t3F0F);
          addr(IMAGE2D<int>) a3F0D#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3F03,index3F10);
          real4 v13F17#1 = LoadVoxels<IMAGE2D<int>,4>(a3F0D);
          int iy3F19#1 = Add<int>(_t2CD2,t23EFB);
          int t3F1D#1 = Mul<int>(n03E32,iy3F19);
          int index3F1E#1 = Add<int>(ix3EF9,t3F1D);
          addr(IMAGE2D<int>) a3F1B#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3F03,index3F1E);
          real4 v23F25#1 = LoadVoxels<IMAGE2D<int>,4>(a3F1B);
          int iy3F27#1 = Add<int>(_t2CAA,t23EFB);
          int t3F2B#1 = Mul<int>(n03E32,iy3F27);
          int index3F2C#1 = Add<int>(ix3EF9,t3F2B);
          addr(IMAGE2D<int>) a3F29#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3F03,index3F2C);
          real4 v33F33#1 = LoadVoxels<IMAGE2D<int>,4>(a3F29);
          real fy3F35#4 = Index<real2,1>(f3EF3);
          real t33F37#1 = Add<real>(fy3F35,_t2CA6);
          real t13F39#1 = Sub<real>(fy3F35,_t2CA6);
          real t03F3B#1 = Sub<real>(fy3F35,_t2CA8);
          real4 a3F3D#3 = <real4>[t33F37,fy3F35,t13F39,t03F3B];
          real4 prod33F54#1 = Mul<real4>(a3F3D,a33E75);
          real4 sum23F55#1 = Add<real4>(a23E74,prod33F54);
          real4 prod23F56#1 = Mul<real4>(a3F3D,sum23F55);
          real4 sum13F57#1 = Add<real4>(a13E73,prod23F56);
          real4 prod13F58#1 = Mul<real4>(a3F3D,sum13F57);
          real4 hy3F3F#1 = Add<real4>(a03E72,prod13F58);
          real fx3F73#4 = Index<real2,0>(f3EF3);
          real t33F75#1 = Add<real>(fx3F73,_t2CA6);
          real t13F77#1 = Sub<real>(fx3F73,_t2CA6);
          real t03F79#1 = Sub<real>(fx3F73,_t2CA8);
          real4 a3F7B#3 = <real4>[t33F75,fx3F73,t13F77,t03F79];
          real4 prod33F92#1 = Mul<real4>(a3F7B,a33E75);
          real4 sum23F93#1 = Add<real4>(a23E74,prod33F92);
          real4 prod23F94#1 = Mul<real4>(a3F7B,sum23F93);
          real4 sum13F95#1 = Add<real4>(a13E73,prod23F94);
          real4 prod13F96#1 = Mul<real4>(a3F7B,sum13F95);
          real4 hx3F7D#4 = Add<real4>(a03E72,prod13F96);
          real t03FB1#1 = Dot<4>(v03F09,hx3F7D);
          real t13FB3#1 = Dot<4>(v13F17,hx3F7D);
          real t23FB5#1 = Dot<4>(v23F25,hx3F7D);
          real t33FB7#1 = Dot<4>(v33F33,hx3F7D);
          real4 tv3FB9#1 = <real4>[t03FB1,t13FB3,t23FB5,t33FB7];
          real _t3FBB#1 = Dot<4>(hy3F3F,tv3FB9);
          real _t3FBD#2 = Sub<real>(_t3EED,_t3FBB);
          real _t3FBF#1 = Mul<real>(_t3FBD,_t3FBD);
          real score3FC1#1 = Add<real>(score3E0A,_t3FBF);
          goto JOIN3FC4
        JOIN3FC4:  preds = [ASSIGN3FC2,COND3E20]
          real score3FC3#2 = phi(score3FC1,score3E0A)
          real _t3FC5#1 = Dot<2>(r02CC0,v112C4B);
          real _t3FC7#1 = Dot<2>(r12CC6,v112C4B);
          real2 _t3FC9#1 = <real2>[_t3FC5,_t3FC7];
          real2 pos3FCB#1 = Add<real2>(_t3FC9,_t2CD6);
          real2 x3FCD#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos3FCB);
          bool _t3FCF#1 = Inside<IMAGE2D<float>,2>(x3FCD,_t2C29);
          if _t3FCF then goto ASSIGN3FD3 else goto ASSIGN57F6
        ASSIGN3FD3:  preds = [COND3FD1]
          real2 x3FD2#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v112C4B);
          bool _t3FD4#1 = Inside<IMAGE2D<int>,2>(x3FD2,_t2C25);
          goto JOIN3FD8
        JOIN3FD8:  preds = [ASSIGN3FD5,ASSIGN57F6]
          bool _t3FD6#1 = phi(_t3FD4,_t3FD7)
          if _t3FD6 then goto ASSIGN3FDB else goto JOIN417D
        ASSIGN3FDB:  preds = [COND3FD9]
          real2 nd3FDA#2 = Floor<2>(x3FCD);
          real2 f3FDC#2 = Sub<real2>(x3FCD,nd3FDA);
          int{2} n3FDE#2 = RealToInt<2>(nd3FDA);
          int t13FE0#4 = -1;
          int t23FE2#1 = Index<int{2},0>(n3FDE);
          int ix3FE4#4 = Add<int>(t13FE0,t23FE2);
          int t23FE6#4 = Index<int{2},1>(n3FDE);
          int iy3FE8#1 = Add<int>(t13FE0,t23FE6);
          int n03FEB#8 = 21;
          int t3FEC#1 = Mul<int>(n03FEB,iy3FE8);
          int index3FED#1 = Add<int>(ix3FE4,t3FEC);
          addr(IMAGE2D<float>) imgBaseAddr3FEE#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a3FEA#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3FEE,index3FED);
          real4 v03FF4#1 = LoadVoxels<IMAGE2D<float>,4>(a3FEA);
          int iy3FF6#1 = Add<int>(_t2CCE,t23FE6);
          int t3FFA#1 = Mul<int>(n03FEB,iy3FF6);
          int index3FFB#1 = Add<int>(ix3FE4,t3FFA);
          addr(IMAGE2D<float>) a3FF8#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3FEE,index3FFB);
          real4 v14002#1 = LoadVoxels<IMAGE2D<float>,4>(a3FF8);
          int iy4004#1 = Add<int>(_t2CD2,t23FE6);
          int t4008#1 = Mul<int>(n03FEB,iy4004);
          int index4009#1 = Add<int>(ix3FE4,t4008);
          addr(IMAGE2D<float>) a4006#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3FEE,index4009);
          real4 v24010#1 = LoadVoxels<IMAGE2D<float>,4>(a4006);
          int iy4012#1 = Add<int>(_t2CAA,t23FE6);
          int t4016#1 = Mul<int>(n03FEB,iy4012);
          int index4017#1 = Add<int>(ix3FE4,t4016);
          addr(IMAGE2D<float>) a4014#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3FEE,index4017);
          real4 v3401E#1 = LoadVoxels<IMAGE2D<float>,4>(a4014);
          real fy4020#4 = Index<real2,1>(f3FDC);
          real t34022#1 = Add<real>(fy4020,_t2CA6);
          real t14024#1 = Sub<real>(fy4020,_t2CA6);
          real t04026#1 = Sub<real>(fy4020,_t2CA8);
          real4 a4028#3 = <real4>[t34022,fy4020,t14024,t04026];
          real _f403B#2 = 0.133333333333e1;
          real _f403C#2 = 0.666666666667e0;
          real4 a0402B#4 = <real4>[_f403B,_f403C,_f403C,_f403B];
          real _f4037#1 = -0.2e1;
          real _f4038#2 = 0.0;
          real4 a1402C#4 = <real4>[_f4037,_f4038,_f4038,_t2CA8];
          real _f4034#2 = -0.1e1;
          real4 a2402D#4 = <real4>[_t2CA6,_f4034,_f4034,_t2CA6];
          real _f402F#1 = -0.166666666667e0;
          real _f4030#1 = 0.5e0;
          real _f4031#1 = -0.5e0;
          real _f4032#1 = 0.166666666667e0;
          real4 a3402E#4 = <real4>[_f402F,_f4030,_f4031,_f4032];
          real4 prod3403F#1 = Mul<real4>(a4028,a3402E);
          real4 sum24040#1 = Add<real4>(a2402D,prod3403F);
          real4 prod24041#1 = Mul<real4>(a4028,sum24040);
          real4 sum14042#1 = Add<real4>(a1402C,prod24041);
          real4 prod14043#1 = Mul<real4>(a4028,sum14042);
          real4 hy402A#1 = Add<real4>(a0402B,prod14043);
          real fx405E#4 = Index<real2,0>(f3FDC);
          real t34060#1 = Add<real>(fx405E,_t2CA6);
          real t14062#1 = Sub<real>(fx405E,_t2CA6);
          real t04064#1 = Sub<real>(fx405E,_t2CA8);
          real4 a4066#3 = <real4>[t34060,fx405E,t14062,t04064];
          real4 prod3407D#1 = Mul<real4>(a4066,a3402E);
          real4 sum2407E#1 = Add<real4>(a2402D,prod3407D);
          real4 prod2407F#1 = Mul<real4>(a4066,sum2407E);
          real4 sum14080#1 = Add<real4>(a1402C,prod2407F);
          real4 prod14081#1 = Mul<real4>(a4066,sum14080);
          real4 hx4068#4 = Add<real4>(a0402B,prod14081);
          real t0409C#1 = Dot<4>(v03FF4,hx4068);
          real t1409E#1 = Dot<4>(v14002,hx4068);
          real t240A0#1 = Dot<4>(v24010,hx4068);
          real t340A2#1 = Dot<4>(v3401E,hx4068);
          real4 tv40A4#1 = <real4>[t0409C,t1409E,t240A0,t340A2];
          real _t40A6#1 = Dot<4>(hy402A,tv40A4);
          real2 x40A8#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v112C4B);
          real2 nd40AA#2 = Floor<2>(x40A8);
          real2 f40AC#2 = Sub<real2>(x40A8,nd40AA);
          int{2} n40AE#2 = RealToInt<2>(nd40AA);
          int t240B0#1 = Index<int{2},0>(n40AE);
          int ix40B2#4 = Add<int>(t13FE0,t240B0);
          int t240B4#4 = Index<int{2},1>(n40AE);
          int iy40B6#1 = Add<int>(t13FE0,t240B4);
          int t40BA#1 = Mul<int>(n03FEB,iy40B6);
          int index40BB#1 = Add<int>(ix40B2,t40BA);
          addr(IMAGE2D<int>) imgBaseAddr40BC#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a40B8#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr40BC,index40BB);
          real4 v040C2#1 = LoadVoxels<IMAGE2D<int>,4>(a40B8);
          int iy40C4#1 = Add<int>(_t2CCE,t240B4);
          int t40C8#1 = Mul<int>(n03FEB,iy40C4);
          int index40C9#1 = Add<int>(ix40B2,t40C8);
          addr(IMAGE2D<int>) a40C6#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr40BC,index40C9);
          real4 v140D0#1 = LoadVoxels<IMAGE2D<int>,4>(a40C6);
          int iy40D2#1 = Add<int>(_t2CD2,t240B4);
          int t40D6#1 = Mul<int>(n03FEB,iy40D2);
          int index40D7#1 = Add<int>(ix40B2,t40D6);
          addr(IMAGE2D<int>) a40D4#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr40BC,index40D7);
          real4 v240DE#1 = LoadVoxels<IMAGE2D<int>,4>(a40D4);
          int iy40E0#1 = Add<int>(_t2CAA,t240B4);
          int t40E4#1 = Mul<int>(n03FEB,iy40E0);
          int index40E5#1 = Add<int>(ix40B2,t40E4);
          addr(IMAGE2D<int>) a40E2#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr40BC,index40E5);
          real4 v340EC#1 = LoadVoxels<IMAGE2D<int>,4>(a40E2);
          real fy40EE#4 = Index<real2,1>(f40AC);
          real t340F0#1 = Add<real>(fy40EE,_t2CA6);
          real t140F2#1 = Sub<real>(fy40EE,_t2CA6);
          real t040F4#1 = Sub<real>(fy40EE,_t2CA8);
          real4 a40F6#3 = <real4>[t340F0,fy40EE,t140F2,t040F4];
          real4 prod3410D#1 = Mul<real4>(a40F6,a3402E);
          real4 sum2410E#1 = Add<real4>(a2402D,prod3410D);
          real4 prod2410F#1 = Mul<real4>(a40F6,sum2410E);
          real4 sum14110#1 = Add<real4>(a1402C,prod2410F);
          real4 prod14111#1 = Mul<real4>(a40F6,sum14110);
          real4 hy40F8#1 = Add<real4>(a0402B,prod14111);
          real fx412C#4 = Index<real2,0>(f40AC);
          real t3412E#1 = Add<real>(fx412C,_t2CA6);
          real t14130#1 = Sub<real>(fx412C,_t2CA6);
          real t04132#1 = Sub<real>(fx412C,_t2CA8);
          real4 a4134#3 = <real4>[t3412E,fx412C,t14130,t04132];
          real4 prod3414B#1 = Mul<real4>(a4134,a3402E);
          real4 sum2414C#1 = Add<real4>(a2402D,prod3414B);
          real4 prod2414D#1 = Mul<real4>(a4134,sum2414C);
          real4 sum1414E#1 = Add<real4>(a1402C,prod2414D);
          real4 prod1414F#1 = Mul<real4>(a4134,sum1414E);
          real4 hx4136#4 = Add<real4>(a0402B,prod1414F);
          real t0416A#1 = Dot<4>(v040C2,hx4136);
          real t1416C#1 = Dot<4>(v140D0,hx4136);
          real t2416E#1 = Dot<4>(v240DE,hx4136);
          real t34170#1 = Dot<4>(v340EC,hx4136);
          real4 tv4172#1 = <real4>[t0416A,t1416C,t2416E,t34170];
          real _t4174#1 = Dot<4>(hy40F8,tv4172);
          real _t4176#2 = Sub<real>(_t40A6,_t4174);
          real _t4178#1 = Mul<real>(_t4176,_t4176);
          real score417A#1 = Add<real>(score3FC3,_t4178);
          goto JOIN417D
        JOIN417D:  preds = [ASSIGN417B,COND3FD9]
          real score417C#2 = phi(score417A,score3FC3)
          real _t417E#1 = Dot<2>(r02CC0,v122C4D);
          real _t4180#1 = Dot<2>(r12CC6,v122C4D);
          real2 _t4182#1 = <real2>[_t417E,_t4180];
          real2 pos4184#1 = Add<real2>(_t4182,_t2CD6);
          real2 x4186#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos4184);
          bool _t4188#1 = Inside<IMAGE2D<float>,2>(x4186,_t2C29);
          if _t4188 then goto ASSIGN418C else goto ASSIGN57F5
        ASSIGN418C:  preds = [COND418A]
          real2 x418B#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v122C4D);
          bool _t418D#1 = Inside<IMAGE2D<int>,2>(x418B,_t2C25);
          goto JOIN4191
        JOIN4191:  preds = [ASSIGN418E,ASSIGN57F5]
          bool _t418F#1 = phi(_t418D,_t4190)
          if _t418F then goto ASSIGN4194 else goto JOIN4336
        ASSIGN4194:  preds = [COND4192]
          real2 nd4193#2 = Floor<2>(x4186);
          real2 f4195#2 = Sub<real2>(x4186,nd4193);
          int{2} n4197#2 = RealToInt<2>(nd4193);
          int t14199#4 = -1;
          int t2419B#1 = Index<int{2},0>(n4197);
          int ix419D#4 = Add<int>(t14199,t2419B);
          int t2419F#4 = Index<int{2},1>(n4197);
          int iy41A1#1 = Add<int>(t14199,t2419F);
          int n041A4#8 = 21;
          int t41A5#1 = Mul<int>(n041A4,iy41A1);
          int index41A6#1 = Add<int>(ix419D,t41A5);
          addr(IMAGE2D<float>) imgBaseAddr41A7#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a41A3#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr41A7,index41A6);
          real4 v041AD#1 = LoadVoxels<IMAGE2D<float>,4>(a41A3);
          int iy41AF#1 = Add<int>(_t2CCE,t2419F);
          int t41B3#1 = Mul<int>(n041A4,iy41AF);
          int index41B4#1 = Add<int>(ix419D,t41B3);
          addr(IMAGE2D<float>) a41B1#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr41A7,index41B4);
          real4 v141BB#1 = LoadVoxels<IMAGE2D<float>,4>(a41B1);
          int iy41BD#1 = Add<int>(_t2CD2,t2419F);
          int t41C1#1 = Mul<int>(n041A4,iy41BD);
          int index41C2#1 = Add<int>(ix419D,t41C1);
          addr(IMAGE2D<float>) a41BF#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr41A7,index41C2);
          real4 v241C9#1 = LoadVoxels<IMAGE2D<float>,4>(a41BF);
          int iy41CB#1 = Add<int>(_t2CAA,t2419F);
          int t41CF#1 = Mul<int>(n041A4,iy41CB);
          int index41D0#1 = Add<int>(ix419D,t41CF);
          addr(IMAGE2D<float>) a41CD#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr41A7,index41D0);
          real4 v341D7#1 = LoadVoxels<IMAGE2D<float>,4>(a41CD);
          real fy41D9#4 = Index<real2,1>(f4195);
          real t341DB#1 = Add<real>(fy41D9,_t2CA6);
          real t141DD#1 = Sub<real>(fy41D9,_t2CA6);
          real t041DF#1 = Sub<real>(fy41D9,_t2CA8);
          real4 a41E1#3 = <real4>[t341DB,fy41D9,t141DD,t041DF];
          real _f41F4#2 = 0.133333333333e1;
          real _f41F5#2 = 0.666666666667e0;
          real4 a041E4#4 = <real4>[_f41F4,_f41F5,_f41F5,_f41F4];
          real _f41F0#1 = -0.2e1;
          real _f41F1#2 = 0.0;
          real4 a141E5#4 = <real4>[_f41F0,_f41F1,_f41F1,_t2CA8];
          real _f41ED#2 = -0.1e1;
          real4 a241E6#4 = <real4>[_t2CA6,_f41ED,_f41ED,_t2CA6];
          real _f41E8#1 = -0.166666666667e0;
          real _f41E9#1 = 0.5e0;
          real _f41EA#1 = -0.5e0;
          real _f41EB#1 = 0.166666666667e0;
          real4 a341E7#4 = <real4>[_f41E8,_f41E9,_f41EA,_f41EB];
          real4 prod341F8#1 = Mul<real4>(a41E1,a341E7);
          real4 sum241F9#1 = Add<real4>(a241E6,prod341F8);
          real4 prod241FA#1 = Mul<real4>(a41E1,sum241F9);
          real4 sum141FB#1 = Add<real4>(a141E5,prod241FA);
          real4 prod141FC#1 = Mul<real4>(a41E1,sum141FB);
          real4 hy41E3#1 = Add<real4>(a041E4,prod141FC);
          real fx4217#4 = Index<real2,0>(f4195);
          real t34219#1 = Add<real>(fx4217,_t2CA6);
          real t1421B#1 = Sub<real>(fx4217,_t2CA6);
          real t0421D#1 = Sub<real>(fx4217,_t2CA8);
          real4 a421F#3 = <real4>[t34219,fx4217,t1421B,t0421D];
          real4 prod34236#1 = Mul<real4>(a421F,a341E7);
          real4 sum24237#1 = Add<real4>(a241E6,prod34236);
          real4 prod24238#1 = Mul<real4>(a421F,sum24237);
          real4 sum14239#1 = Add<real4>(a141E5,prod24238);
          real4 prod1423A#1 = Mul<real4>(a421F,sum14239);
          real4 hx4221#4 = Add<real4>(a041E4,prod1423A);
          real t04255#1 = Dot<4>(v041AD,hx4221);
          real t14257#1 = Dot<4>(v141BB,hx4221);
          real t24259#1 = Dot<4>(v241C9,hx4221);
          real t3425B#1 = Dot<4>(v341D7,hx4221);
          real4 tv425D#1 = <real4>[t04255,t14257,t24259,t3425B];
          real _t425F#1 = Dot<4>(hy41E3,tv425D);
          real2 x4261#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v122C4D);
          real2 nd4263#2 = Floor<2>(x4261);
          real2 f4265#2 = Sub<real2>(x4261,nd4263);
          int{2} n4267#2 = RealToInt<2>(nd4263);
          int t24269#1 = Index<int{2},0>(n4267);
          int ix426B#4 = Add<int>(t14199,t24269);
          int t2426D#4 = Index<int{2},1>(n4267);
          int iy426F#1 = Add<int>(t14199,t2426D);
          int t4273#1 = Mul<int>(n041A4,iy426F);
          int index4274#1 = Add<int>(ix426B,t4273);
          addr(IMAGE2D<int>) imgBaseAddr4275#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a4271#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4275,index4274);
          real4 v0427B#1 = LoadVoxels<IMAGE2D<int>,4>(a4271);
          int iy427D#1 = Add<int>(_t2CCE,t2426D);
          int t4281#1 = Mul<int>(n041A4,iy427D);
          int index4282#1 = Add<int>(ix426B,t4281);
          addr(IMAGE2D<int>) a427F#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4275,index4282);
          real4 v14289#1 = LoadVoxels<IMAGE2D<int>,4>(a427F);
          int iy428B#1 = Add<int>(_t2CD2,t2426D);
          int t428F#1 = Mul<int>(n041A4,iy428B);
          int index4290#1 = Add<int>(ix426B,t428F);
          addr(IMAGE2D<int>) a428D#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4275,index4290);
          real4 v24297#1 = LoadVoxels<IMAGE2D<int>,4>(a428D);
          int iy4299#1 = Add<int>(_t2CAA,t2426D);
          int t429D#1 = Mul<int>(n041A4,iy4299);
          int index429E#1 = Add<int>(ix426B,t429D);
          addr(IMAGE2D<int>) a429B#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4275,index429E);
          real4 v342A5#1 = LoadVoxels<IMAGE2D<int>,4>(a429B);
          real fy42A7#4 = Index<real2,1>(f4265);
          real t342A9#1 = Add<real>(fy42A7,_t2CA6);
          real t142AB#1 = Sub<real>(fy42A7,_t2CA6);
          real t042AD#1 = Sub<real>(fy42A7,_t2CA8);
          real4 a42AF#3 = <real4>[t342A9,fy42A7,t142AB,t042AD];
          real4 prod342C6#1 = Mul<real4>(a42AF,a341E7);
          real4 sum242C7#1 = Add<real4>(a241E6,prod342C6);
          real4 prod242C8#1 = Mul<real4>(a42AF,sum242C7);
          real4 sum142C9#1 = Add<real4>(a141E5,prod242C8);
          real4 prod142CA#1 = Mul<real4>(a42AF,sum142C9);
          real4 hy42B1#1 = Add<real4>(a041E4,prod142CA);
          real fx42E5#4 = Index<real2,0>(f4265);
          real t342E7#1 = Add<real>(fx42E5,_t2CA6);
          real t142E9#1 = Sub<real>(fx42E5,_t2CA6);
          real t042EB#1 = Sub<real>(fx42E5,_t2CA8);
          real4 a42ED#3 = <real4>[t342E7,fx42E5,t142E9,t042EB];
          real4 prod34304#1 = Mul<real4>(a42ED,a341E7);
          real4 sum24305#1 = Add<real4>(a241E6,prod34304);
          real4 prod24306#1 = Mul<real4>(a42ED,sum24305);
          real4 sum14307#1 = Add<real4>(a141E5,prod24306);
          real4 prod14308#1 = Mul<real4>(a42ED,sum14307);
          real4 hx42EF#4 = Add<real4>(a041E4,prod14308);
          real t04323#1 = Dot<4>(v0427B,hx42EF);
          real t14325#1 = Dot<4>(v14289,hx42EF);
          real t24327#1 = Dot<4>(v24297,hx42EF);
          real t34329#1 = Dot<4>(v342A5,hx42EF);
          real4 tv432B#1 = <real4>[t04323,t14325,t24327,t34329];
          real _t432D#1 = Dot<4>(hy42B1,tv432B);
          real _t432F#2 = Sub<real>(_t425F,_t432D);
          real _t4331#1 = Mul<real>(_t432F,_t432F);
          real score4333#1 = Add<real>(score417C,_t4331);
          goto JOIN4336
        JOIN4336:  preds = [ASSIGN4334,COND4192]
          real score4335#2 = phi(score4333,score417C)
          real _t4337#1 = Dot<2>(r02CC0,v132C4F);
          real _t4339#1 = Dot<2>(r12CC6,v132C4F);
          real2 _t433B#1 = <real2>[_t4337,_t4339];
          real2 pos433D#1 = Add<real2>(_t433B,_t2CD6);
          real2 x433F#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos433D);
          bool _t4341#1 = Inside<IMAGE2D<float>,2>(x433F,_t2C29);
          if _t4341 then goto ASSIGN4345 else goto ASSIGN57F4
        ASSIGN4345:  preds = [COND4343]
          real2 x4344#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v132C4F);
          bool _t4346#1 = Inside<IMAGE2D<int>,2>(x4344,_t2C25);
          goto JOIN434A
        JOIN434A:  preds = [ASSIGN4347,ASSIGN57F4]
          bool _t4348#1 = phi(_t4346,_t4349)
          if _t4348 then goto ASSIGN434D else goto JOIN44EF
        ASSIGN434D:  preds = [COND434B]
          real2 nd434C#2 = Floor<2>(x433F);
          real2 f434E#2 = Sub<real2>(x433F,nd434C);
          int{2} n4350#2 = RealToInt<2>(nd434C);
          int t14352#4 = -1;
          int t24354#1 = Index<int{2},0>(n4350);
          int ix4356#4 = Add<int>(t14352,t24354);
          int t24358#4 = Index<int{2},1>(n4350);
          int iy435A#1 = Add<int>(t14352,t24358);
          int n0435D#8 = 21;
          int t435E#1 = Mul<int>(n0435D,iy435A);
          int index435F#1 = Add<int>(ix4356,t435E);
          addr(IMAGE2D<float>) imgBaseAddr4360#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a435C#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4360,index435F);
          real4 v04366#1 = LoadVoxels<IMAGE2D<float>,4>(a435C);
          int iy4368#1 = Add<int>(_t2CCE,t24358);
          int t436C#1 = Mul<int>(n0435D,iy4368);
          int index436D#1 = Add<int>(ix4356,t436C);
          addr(IMAGE2D<float>) a436A#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4360,index436D);
          real4 v14374#1 = LoadVoxels<IMAGE2D<float>,4>(a436A);
          int iy4376#1 = Add<int>(_t2CD2,t24358);
          int t437A#1 = Mul<int>(n0435D,iy4376);
          int index437B#1 = Add<int>(ix4356,t437A);
          addr(IMAGE2D<float>) a4378#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4360,index437B);
          real4 v24382#1 = LoadVoxels<IMAGE2D<float>,4>(a4378);
          int iy4384#1 = Add<int>(_t2CAA,t24358);
          int t4388#1 = Mul<int>(n0435D,iy4384);
          int index4389#1 = Add<int>(ix4356,t4388);
          addr(IMAGE2D<float>) a4386#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4360,index4389);
          real4 v34390#1 = LoadVoxels<IMAGE2D<float>,4>(a4386);
          real fy4392#4 = Index<real2,1>(f434E);
          real t34394#1 = Add<real>(fy4392,_t2CA6);
          real t14396#1 = Sub<real>(fy4392,_t2CA6);
          real t04398#1 = Sub<real>(fy4392,_t2CA8);
          real4 a439A#3 = <real4>[t34394,fy4392,t14396,t04398];
          real _f43AD#2 = 0.133333333333e1;
          real _f43AE#2 = 0.666666666667e0;
          real4 a0439D#4 = <real4>[_f43AD,_f43AE,_f43AE,_f43AD];
          real _f43A9#1 = -0.2e1;
          real _f43AA#2 = 0.0;
          real4 a1439E#4 = <real4>[_f43A9,_f43AA,_f43AA,_t2CA8];
          real _f43A6#2 = -0.1e1;
          real4 a2439F#4 = <real4>[_t2CA6,_f43A6,_f43A6,_t2CA6];
          real _f43A1#1 = -0.166666666667e0;
          real _f43A2#1 = 0.5e0;
          real _f43A3#1 = -0.5e0;
          real _f43A4#1 = 0.166666666667e0;
          real4 a343A0#4 = <real4>[_f43A1,_f43A2,_f43A3,_f43A4];
          real4 prod343B1#1 = Mul<real4>(a439A,a343A0);
          real4 sum243B2#1 = Add<real4>(a2439F,prod343B1);
          real4 prod243B3#1 = Mul<real4>(a439A,sum243B2);
          real4 sum143B4#1 = Add<real4>(a1439E,prod243B3);
          real4 prod143B5#1 = Mul<real4>(a439A,sum143B4);
          real4 hy439C#1 = Add<real4>(a0439D,prod143B5);
          real fx43D0#4 = Index<real2,0>(f434E);
          real t343D2#1 = Add<real>(fx43D0,_t2CA6);
          real t143D4#1 = Sub<real>(fx43D0,_t2CA6);
          real t043D6#1 = Sub<real>(fx43D0,_t2CA8);
          real4 a43D8#3 = <real4>[t343D2,fx43D0,t143D4,t043D6];
          real4 prod343EF#1 = Mul<real4>(a43D8,a343A0);
          real4 sum243F0#1 = Add<real4>(a2439F,prod343EF);
          real4 prod243F1#1 = Mul<real4>(a43D8,sum243F0);
          real4 sum143F2#1 = Add<real4>(a1439E,prod243F1);
          real4 prod143F3#1 = Mul<real4>(a43D8,sum143F2);
          real4 hx43DA#4 = Add<real4>(a0439D,prod143F3);
          real t0440E#1 = Dot<4>(v04366,hx43DA);
          real t14410#1 = Dot<4>(v14374,hx43DA);
          real t24412#1 = Dot<4>(v24382,hx43DA);
          real t34414#1 = Dot<4>(v34390,hx43DA);
          real4 tv4416#1 = <real4>[t0440E,t14410,t24412,t34414];
          real _t4418#1 = Dot<4>(hy439C,tv4416);
          real2 x441A#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v132C4F);
          real2 nd441C#2 = Floor<2>(x441A);
          real2 f441E#2 = Sub<real2>(x441A,nd441C);
          int{2} n4420#2 = RealToInt<2>(nd441C);
          int t24422#1 = Index<int{2},0>(n4420);
          int ix4424#4 = Add<int>(t14352,t24422);
          int t24426#4 = Index<int{2},1>(n4420);
          int iy4428#1 = Add<int>(t14352,t24426);
          int t442C#1 = Mul<int>(n0435D,iy4428);
          int index442D#1 = Add<int>(ix4424,t442C);
          addr(IMAGE2D<int>) imgBaseAddr442E#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a442A#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr442E,index442D);
          real4 v04434#1 = LoadVoxels<IMAGE2D<int>,4>(a442A);
          int iy4436#1 = Add<int>(_t2CCE,t24426);
          int t443A#1 = Mul<int>(n0435D,iy4436);
          int index443B#1 = Add<int>(ix4424,t443A);
          addr(IMAGE2D<int>) a4438#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr442E,index443B);
          real4 v14442#1 = LoadVoxels<IMAGE2D<int>,4>(a4438);
          int iy4444#1 = Add<int>(_t2CD2,t24426);
          int t4448#1 = Mul<int>(n0435D,iy4444);
          int index4449#1 = Add<int>(ix4424,t4448);
          addr(IMAGE2D<int>) a4446#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr442E,index4449);
          real4 v24450#1 = LoadVoxels<IMAGE2D<int>,4>(a4446);
          int iy4452#1 = Add<int>(_t2CAA,t24426);
          int t4456#1 = Mul<int>(n0435D,iy4452);
          int index4457#1 = Add<int>(ix4424,t4456);
          addr(IMAGE2D<int>) a4454#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr442E,index4457);
          real4 v3445E#1 = LoadVoxels<IMAGE2D<int>,4>(a4454);
          real fy4460#4 = Index<real2,1>(f441E);
          real t34462#1 = Add<real>(fy4460,_t2CA6);
          real t14464#1 = Sub<real>(fy4460,_t2CA6);
          real t04466#1 = Sub<real>(fy4460,_t2CA8);
          real4 a4468#3 = <real4>[t34462,fy4460,t14464,t04466];
          real4 prod3447F#1 = Mul<real4>(a4468,a343A0);
          real4 sum24480#1 = Add<real4>(a2439F,prod3447F);
          real4 prod24481#1 = Mul<real4>(a4468,sum24480);
          real4 sum14482#1 = Add<real4>(a1439E,prod24481);
          real4 prod14483#1 = Mul<real4>(a4468,sum14482);
          real4 hy446A#1 = Add<real4>(a0439D,prod14483);
          real fx449E#4 = Index<real2,0>(f441E);
          real t344A0#1 = Add<real>(fx449E,_t2CA6);
          real t144A2#1 = Sub<real>(fx449E,_t2CA6);
          real t044A4#1 = Sub<real>(fx449E,_t2CA8);
          real4 a44A6#3 = <real4>[t344A0,fx449E,t144A2,t044A4];
          real4 prod344BD#1 = Mul<real4>(a44A6,a343A0);
          real4 sum244BE#1 = Add<real4>(a2439F,prod344BD);
          real4 prod244BF#1 = Mul<real4>(a44A6,sum244BE);
          real4 sum144C0#1 = Add<real4>(a1439E,prod244BF);
          real4 prod144C1#1 = Mul<real4>(a44A6,sum144C0);
          real4 hx44A8#4 = Add<real4>(a0439D,prod144C1);
          real t044DC#1 = Dot<4>(v04434,hx44A8);
          real t144DE#1 = Dot<4>(v14442,hx44A8);
          real t244E0#1 = Dot<4>(v24450,hx44A8);
          real t344E2#1 = Dot<4>(v3445E,hx44A8);
          real4 tv44E4#1 = <real4>[t044DC,t144DE,t244E0,t344E2];
          real _t44E6#1 = Dot<4>(hy446A,tv44E4);
          real _t44E8#2 = Sub<real>(_t4418,_t44E6);
          real _t44EA#1 = Mul<real>(_t44E8,_t44E8);
          real score44EC#1 = Add<real>(score4335,_t44EA);
          goto JOIN44EF
        JOIN44EF:  preds = [ASSIGN44ED,COND434B]
          real score44EE#2 = phi(score44EC,score4335)
          real _t44F0#1 = Dot<2>(r02CC0,v142C51);
          real _t44F2#1 = Dot<2>(r12CC6,v142C51);
          real2 _t44F4#1 = <real2>[_t44F0,_t44F2];
          real2 pos44F6#1 = Add<real2>(_t44F4,_t2CD6);
          real2 x44F8#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos44F6);
          bool _t44FA#1 = Inside<IMAGE2D<float>,2>(x44F8,_t2C29);
          if _t44FA then goto ASSIGN44FE else goto ASSIGN57F3
        ASSIGN44FE:  preds = [COND44FC]
          real2 x44FD#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v142C51);
          bool _t44FF#1 = Inside<IMAGE2D<int>,2>(x44FD,_t2C25);
          goto JOIN4503
        JOIN4503:  preds = [ASSIGN4500,ASSIGN57F3]
          bool _t4501#1 = phi(_t44FF,_t4502)
          if _t4501 then goto ASSIGN4506 else goto JOIN46A8
        ASSIGN4506:  preds = [COND4504]
          real2 nd4505#2 = Floor<2>(x44F8);
          real2 f4507#2 = Sub<real2>(x44F8,nd4505);
          int{2} n4509#2 = RealToInt<2>(nd4505);
          int t1450B#4 = -1;
          int t2450D#1 = Index<int{2},0>(n4509);
          int ix450F#4 = Add<int>(t1450B,t2450D);
          int t24511#4 = Index<int{2},1>(n4509);
          int iy4513#1 = Add<int>(t1450B,t24511);
          int n04516#8 = 21;
          int t4517#1 = Mul<int>(n04516,iy4513);
          int index4518#1 = Add<int>(ix450F,t4517);
          addr(IMAGE2D<float>) imgBaseAddr4519#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a4515#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4519,index4518);
          real4 v0451F#1 = LoadVoxels<IMAGE2D<float>,4>(a4515);
          int iy4521#1 = Add<int>(_t2CCE,t24511);
          int t4525#1 = Mul<int>(n04516,iy4521);
          int index4526#1 = Add<int>(ix450F,t4525);
          addr(IMAGE2D<float>) a4523#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4519,index4526);
          real4 v1452D#1 = LoadVoxels<IMAGE2D<float>,4>(a4523);
          int iy452F#1 = Add<int>(_t2CD2,t24511);
          int t4533#1 = Mul<int>(n04516,iy452F);
          int index4534#1 = Add<int>(ix450F,t4533);
          addr(IMAGE2D<float>) a4531#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4519,index4534);
          real4 v2453B#1 = LoadVoxels<IMAGE2D<float>,4>(a4531);
          int iy453D#1 = Add<int>(_t2CAA,t24511);
          int t4541#1 = Mul<int>(n04516,iy453D);
          int index4542#1 = Add<int>(ix450F,t4541);
          addr(IMAGE2D<float>) a453F#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4519,index4542);
          real4 v34549#1 = LoadVoxels<IMAGE2D<float>,4>(a453F);
          real fy454B#4 = Index<real2,1>(f4507);
          real t3454D#1 = Add<real>(fy454B,_t2CA6);
          real t1454F#1 = Sub<real>(fy454B,_t2CA6);
          real t04551#1 = Sub<real>(fy454B,_t2CA8);
          real4 a4553#3 = <real4>[t3454D,fy454B,t1454F,t04551];
          real _f4566#2 = 0.133333333333e1;
          real _f4567#2 = 0.666666666667e0;
          real4 a04556#4 = <real4>[_f4566,_f4567,_f4567,_f4566];
          real _f4562#1 = -0.2e1;
          real _f4563#2 = 0.0;
          real4 a14557#4 = <real4>[_f4562,_f4563,_f4563,_t2CA8];
          real _f455F#2 = -0.1e1;
          real4 a24558#4 = <real4>[_t2CA6,_f455F,_f455F,_t2CA6];
          real _f455A#1 = -0.166666666667e0;
          real _f455B#1 = 0.5e0;
          real _f455C#1 = -0.5e0;
          real _f455D#1 = 0.166666666667e0;
          real4 a34559#4 = <real4>[_f455A,_f455B,_f455C,_f455D];
          real4 prod3456A#1 = Mul<real4>(a4553,a34559);
          real4 sum2456B#1 = Add<real4>(a24558,prod3456A);
          real4 prod2456C#1 = Mul<real4>(a4553,sum2456B);
          real4 sum1456D#1 = Add<real4>(a14557,prod2456C);
          real4 prod1456E#1 = Mul<real4>(a4553,sum1456D);
          real4 hy4555#1 = Add<real4>(a04556,prod1456E);
          real fx4589#4 = Index<real2,0>(f4507);
          real t3458B#1 = Add<real>(fx4589,_t2CA6);
          real t1458D#1 = Sub<real>(fx4589,_t2CA6);
          real t0458F#1 = Sub<real>(fx4589,_t2CA8);
          real4 a4591#3 = <real4>[t3458B,fx4589,t1458D,t0458F];
          real4 prod345A8#1 = Mul<real4>(a4591,a34559);
          real4 sum245A9#1 = Add<real4>(a24558,prod345A8);
          real4 prod245AA#1 = Mul<real4>(a4591,sum245A9);
          real4 sum145AB#1 = Add<real4>(a14557,prod245AA);
          real4 prod145AC#1 = Mul<real4>(a4591,sum145AB);
          real4 hx4593#4 = Add<real4>(a04556,prod145AC);
          real t045C7#1 = Dot<4>(v0451F,hx4593);
          real t145C9#1 = Dot<4>(v1452D,hx4593);
          real t245CB#1 = Dot<4>(v2453B,hx4593);
          real t345CD#1 = Dot<4>(v34549,hx4593);
          real4 tv45CF#1 = <real4>[t045C7,t145C9,t245CB,t345CD];
          real _t45D1#1 = Dot<4>(hy4555,tv45CF);
          real2 x45D3#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v142C51);
          real2 nd45D5#2 = Floor<2>(x45D3);
          real2 f45D7#2 = Sub<real2>(x45D3,nd45D5);
          int{2} n45D9#2 = RealToInt<2>(nd45D5);
          int t245DB#1 = Index<int{2},0>(n45D9);
          int ix45DD#4 = Add<int>(t1450B,t245DB);
          int t245DF#4 = Index<int{2},1>(n45D9);
          int iy45E1#1 = Add<int>(t1450B,t245DF);
          int t45E5#1 = Mul<int>(n04516,iy45E1);
          int index45E6#1 = Add<int>(ix45DD,t45E5);
          addr(IMAGE2D<int>) imgBaseAddr45E7#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a45E3#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr45E7,index45E6);
          real4 v045ED#1 = LoadVoxels<IMAGE2D<int>,4>(a45E3);
          int iy45EF#1 = Add<int>(_t2CCE,t245DF);
          int t45F3#1 = Mul<int>(n04516,iy45EF);
          int index45F4#1 = Add<int>(ix45DD,t45F3);
          addr(IMAGE2D<int>) a45F1#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr45E7,index45F4);
          real4 v145FB#1 = LoadVoxels<IMAGE2D<int>,4>(a45F1);
          int iy45FD#1 = Add<int>(_t2CD2,t245DF);
          int t4601#1 = Mul<int>(n04516,iy45FD);
          int index4602#1 = Add<int>(ix45DD,t4601);
          addr(IMAGE2D<int>) a45FF#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr45E7,index4602);
          real4 v24609#1 = LoadVoxels<IMAGE2D<int>,4>(a45FF);
          int iy460B#1 = Add<int>(_t2CAA,t245DF);
          int t460F#1 = Mul<int>(n04516,iy460B);
          int index4610#1 = Add<int>(ix45DD,t460F);
          addr(IMAGE2D<int>) a460D#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr45E7,index4610);
          real4 v34617#1 = LoadVoxels<IMAGE2D<int>,4>(a460D);
          real fy4619#4 = Index<real2,1>(f45D7);
          real t3461B#1 = Add<real>(fy4619,_t2CA6);
          real t1461D#1 = Sub<real>(fy4619,_t2CA6);
          real t0461F#1 = Sub<real>(fy4619,_t2CA8);
          real4 a4621#3 = <real4>[t3461B,fy4619,t1461D,t0461F];
          real4 prod34638#1 = Mul<real4>(a4621,a34559);
          real4 sum24639#1 = Add<real4>(a24558,prod34638);
          real4 prod2463A#1 = Mul<real4>(a4621,sum24639);
          real4 sum1463B#1 = Add<real4>(a14557,prod2463A);
          real4 prod1463C#1 = Mul<real4>(a4621,sum1463B);
          real4 hy4623#1 = Add<real4>(a04556,prod1463C);
          real fx4657#4 = Index<real2,0>(f45D7);
          real t34659#1 = Add<real>(fx4657,_t2CA6);
          real t1465B#1 = Sub<real>(fx4657,_t2CA6);
          real t0465D#1 = Sub<real>(fx4657,_t2CA8);
          real4 a465F#3 = <real4>[t34659,fx4657,t1465B,t0465D];
          real4 prod34676#1 = Mul<real4>(a465F,a34559);
          real4 sum24677#1 = Add<real4>(a24558,prod34676);
          real4 prod24678#1 = Mul<real4>(a465F,sum24677);
          real4 sum14679#1 = Add<real4>(a14557,prod24678);
          real4 prod1467A#1 = Mul<real4>(a465F,sum14679);
          real4 hx4661#4 = Add<real4>(a04556,prod1467A);
          real t04695#1 = Dot<4>(v045ED,hx4661);
          real t14697#1 = Dot<4>(v145FB,hx4661);
          real t24699#1 = Dot<4>(v24609,hx4661);
          real t3469B#1 = Dot<4>(v34617,hx4661);
          real4 tv469D#1 = <real4>[t04695,t14697,t24699,t3469B];
          real _t469F#1 = Dot<4>(hy4623,tv469D);
          real _t46A1#2 = Sub<real>(_t45D1,_t469F);
          real _t46A3#1 = Mul<real>(_t46A1,_t46A1);
          real score46A5#1 = Add<real>(score44EE,_t46A3);
          goto JOIN46A8
        JOIN46A8:  preds = [ASSIGN46A6,COND4504]
          real score46A7#2 = phi(score46A5,score44EE)
          real _t46A9#1 = Dot<2>(r02CC0,v152C53);
          real _t46AB#1 = Dot<2>(r12CC6,v152C53);
          real2 _t46AD#1 = <real2>[_t46A9,_t46AB];
          real2 pos46AF#1 = Add<real2>(_t46AD,_t2CD6);
          real2 x46B1#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos46AF);
          bool _t46B3#1 = Inside<IMAGE2D<float>,2>(x46B1,_t2C29);
          if _t46B3 then goto ASSIGN46B7 else goto ASSIGN57F2
        ASSIGN46B7:  preds = [COND46B5]
          real2 x46B6#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v152C53);
          bool _t46B8#1 = Inside<IMAGE2D<int>,2>(x46B6,_t2C25);
          goto JOIN46BC
        JOIN46BC:  preds = [ASSIGN46B9,ASSIGN57F2]
          bool _t46BA#1 = phi(_t46B8,_t46BB)
          if _t46BA then goto ASSIGN46BF else goto JOIN4861
        ASSIGN46BF:  preds = [COND46BD]
          real2 nd46BE#2 = Floor<2>(x46B1);
          real2 f46C0#2 = Sub<real2>(x46B1,nd46BE);
          int{2} n46C2#2 = RealToInt<2>(nd46BE);
          int t146C4#4 = -1;
          int t246C6#1 = Index<int{2},0>(n46C2);
          int ix46C8#4 = Add<int>(t146C4,t246C6);
          int t246CA#4 = Index<int{2},1>(n46C2);
          int iy46CC#1 = Add<int>(t146C4,t246CA);
          int n046CF#8 = 21;
          int t46D0#1 = Mul<int>(n046CF,iy46CC);
          int index46D1#1 = Add<int>(ix46C8,t46D0);
          addr(IMAGE2D<float>) imgBaseAddr46D2#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a46CE#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr46D2,index46D1);
          real4 v046D8#1 = LoadVoxels<IMAGE2D<float>,4>(a46CE);
          int iy46DA#1 = Add<int>(_t2CCE,t246CA);
          int t46DE#1 = Mul<int>(n046CF,iy46DA);
          int index46DF#1 = Add<int>(ix46C8,t46DE);
          addr(IMAGE2D<float>) a46DC#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr46D2,index46DF);
          real4 v146E6#1 = LoadVoxels<IMAGE2D<float>,4>(a46DC);
          int iy46E8#1 = Add<int>(_t2CD2,t246CA);
          int t46EC#1 = Mul<int>(n046CF,iy46E8);
          int index46ED#1 = Add<int>(ix46C8,t46EC);
          addr(IMAGE2D<float>) a46EA#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr46D2,index46ED);
          real4 v246F4#1 = LoadVoxels<IMAGE2D<float>,4>(a46EA);
          int iy46F6#1 = Add<int>(_t2CAA,t246CA);
          int t46FA#1 = Mul<int>(n046CF,iy46F6);
          int index46FB#1 = Add<int>(ix46C8,t46FA);
          addr(IMAGE2D<float>) a46F8#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr46D2,index46FB);
          real4 v34702#1 = LoadVoxels<IMAGE2D<float>,4>(a46F8);
          real fy4704#4 = Index<real2,1>(f46C0);
          real t34706#1 = Add<real>(fy4704,_t2CA6);
          real t14708#1 = Sub<real>(fy4704,_t2CA6);
          real t0470A#1 = Sub<real>(fy4704,_t2CA8);
          real4 a470C#3 = <real4>[t34706,fy4704,t14708,t0470A];
          real _f471F#2 = 0.133333333333e1;
          real _f4720#2 = 0.666666666667e0;
          real4 a0470F#4 = <real4>[_f471F,_f4720,_f4720,_f471F];
          real _f471B#1 = -0.2e1;
          real _f471C#2 = 0.0;
          real4 a14710#4 = <real4>[_f471B,_f471C,_f471C,_t2CA8];
          real _f4718#2 = -0.1e1;
          real4 a24711#4 = <real4>[_t2CA6,_f4718,_f4718,_t2CA6];
          real _f4713#1 = -0.166666666667e0;
          real _f4714#1 = 0.5e0;
          real _f4715#1 = -0.5e0;
          real _f4716#1 = 0.166666666667e0;
          real4 a34712#4 = <real4>[_f4713,_f4714,_f4715,_f4716];
          real4 prod34723#1 = Mul<real4>(a470C,a34712);
          real4 sum24724#1 = Add<real4>(a24711,prod34723);
          real4 prod24725#1 = Mul<real4>(a470C,sum24724);
          real4 sum14726#1 = Add<real4>(a14710,prod24725);
          real4 prod14727#1 = Mul<real4>(a470C,sum14726);
          real4 hy470E#1 = Add<real4>(a0470F,prod14727);
          real fx4742#4 = Index<real2,0>(f46C0);
          real t34744#1 = Add<real>(fx4742,_t2CA6);
          real t14746#1 = Sub<real>(fx4742,_t2CA6);
          real t04748#1 = Sub<real>(fx4742,_t2CA8);
          real4 a474A#3 = <real4>[t34744,fx4742,t14746,t04748];
          real4 prod34761#1 = Mul<real4>(a474A,a34712);
          real4 sum24762#1 = Add<real4>(a24711,prod34761);
          real4 prod24763#1 = Mul<real4>(a474A,sum24762);
          real4 sum14764#1 = Add<real4>(a14710,prod24763);
          real4 prod14765#1 = Mul<real4>(a474A,sum14764);
          real4 hx474C#4 = Add<real4>(a0470F,prod14765);
          real t04780#1 = Dot<4>(v046D8,hx474C);
          real t14782#1 = Dot<4>(v146E6,hx474C);
          real t24784#1 = Dot<4>(v246F4,hx474C);
          real t34786#1 = Dot<4>(v34702,hx474C);
          real4 tv4788#1 = <real4>[t04780,t14782,t24784,t34786];
          real _t478A#1 = Dot<4>(hy470E,tv4788);
          real2 x478C#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v152C53);
          real2 nd478E#2 = Floor<2>(x478C);
          real2 f4790#2 = Sub<real2>(x478C,nd478E);
          int{2} n4792#2 = RealToInt<2>(nd478E);
          int t24794#1 = Index<int{2},0>(n4792);
          int ix4796#4 = Add<int>(t146C4,t24794);
          int t24798#4 = Index<int{2},1>(n4792);
          int iy479A#1 = Add<int>(t146C4,t24798);
          int t479E#1 = Mul<int>(n046CF,iy479A);
          int index479F#1 = Add<int>(ix4796,t479E);
          addr(IMAGE2D<int>) imgBaseAddr47A0#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a479C#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr47A0,index479F);
          real4 v047A6#1 = LoadVoxels<IMAGE2D<int>,4>(a479C);
          int iy47A8#1 = Add<int>(_t2CCE,t24798);
          int t47AC#1 = Mul<int>(n046CF,iy47A8);
          int index47AD#1 = Add<int>(ix4796,t47AC);
          addr(IMAGE2D<int>) a47AA#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr47A0,index47AD);
          real4 v147B4#1 = LoadVoxels<IMAGE2D<int>,4>(a47AA);
          int iy47B6#1 = Add<int>(_t2CD2,t24798);
          int t47BA#1 = Mul<int>(n046CF,iy47B6);
          int index47BB#1 = Add<int>(ix4796,t47BA);
          addr(IMAGE2D<int>) a47B8#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr47A0,index47BB);
          real4 v247C2#1 = LoadVoxels<IMAGE2D<int>,4>(a47B8);
          int iy47C4#1 = Add<int>(_t2CAA,t24798);
          int t47C8#1 = Mul<int>(n046CF,iy47C4);
          int index47C9#1 = Add<int>(ix4796,t47C8);
          addr(IMAGE2D<int>) a47C6#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr47A0,index47C9);
          real4 v347D0#1 = LoadVoxels<IMAGE2D<int>,4>(a47C6);
          real fy47D2#4 = Index<real2,1>(f4790);
          real t347D4#1 = Add<real>(fy47D2,_t2CA6);
          real t147D6#1 = Sub<real>(fy47D2,_t2CA6);
          real t047D8#1 = Sub<real>(fy47D2,_t2CA8);
          real4 a47DA#3 = <real4>[t347D4,fy47D2,t147D6,t047D8];
          real4 prod347F1#1 = Mul<real4>(a47DA,a34712);
          real4 sum247F2#1 = Add<real4>(a24711,prod347F1);
          real4 prod247F3#1 = Mul<real4>(a47DA,sum247F2);
          real4 sum147F4#1 = Add<real4>(a14710,prod247F3);
          real4 prod147F5#1 = Mul<real4>(a47DA,sum147F4);
          real4 hy47DC#1 = Add<real4>(a0470F,prod147F5);
          real fx4810#4 = Index<real2,0>(f4790);
          real t34812#1 = Add<real>(fx4810,_t2CA6);
          real t14814#1 = Sub<real>(fx4810,_t2CA6);
          real t04816#1 = Sub<real>(fx4810,_t2CA8);
          real4 a4818#3 = <real4>[t34812,fx4810,t14814,t04816];
          real4 prod3482F#1 = Mul<real4>(a4818,a34712);
          real4 sum24830#1 = Add<real4>(a24711,prod3482F);
          real4 prod24831#1 = Mul<real4>(a4818,sum24830);
          real4 sum14832#1 = Add<real4>(a14710,prod24831);
          real4 prod14833#1 = Mul<real4>(a4818,sum14832);
          real4 hx481A#4 = Add<real4>(a0470F,prod14833);
          real t0484E#1 = Dot<4>(v047A6,hx481A);
          real t14850#1 = Dot<4>(v147B4,hx481A);
          real t24852#1 = Dot<4>(v247C2,hx481A);
          real t34854#1 = Dot<4>(v347D0,hx481A);
          real4 tv4856#1 = <real4>[t0484E,t14850,t24852,t34854];
          real _t4858#1 = Dot<4>(hy47DC,tv4856);
          real _t485A#2 = Sub<real>(_t478A,_t4858);
          real _t485C#1 = Mul<real>(_t485A,_t485A);
          real score485E#1 = Add<real>(score46A7,_t485C);
          goto JOIN4861
        JOIN4861:  preds = [ASSIGN485F,COND46BD]
          real score4860#2 = phi(score485E,score46A7)
          real _t4862#1 = Dot<2>(r02CC0,v162C55);
          real _t4864#1 = Dot<2>(r12CC6,v162C55);
          real2 _t4866#1 = <real2>[_t4862,_t4864];
          real2 pos4868#1 = Add<real2>(_t4866,_t2CD6);
          real2 x486A#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos4868);
          bool _t486C#1 = Inside<IMAGE2D<float>,2>(x486A,_t2C29);
          if _t486C then goto ASSIGN4870 else goto ASSIGN57F1
        ASSIGN4870:  preds = [COND486E]
          real2 x486F#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v162C55);
          bool _t4871#1 = Inside<IMAGE2D<int>,2>(x486F,_t2C25);
          goto JOIN4875
        JOIN4875:  preds = [ASSIGN4872,ASSIGN57F1]
          bool _t4873#1 = phi(_t4871,_t4874)
          if _t4873 then goto ASSIGN4878 else goto JOIN4A1A
        ASSIGN4878:  preds = [COND4876]
          real2 nd4877#2 = Floor<2>(x486A);
          real2 f4879#2 = Sub<real2>(x486A,nd4877);
          int{2} n487B#2 = RealToInt<2>(nd4877);
          int t1487D#4 = -1;
          int t2487F#1 = Index<int{2},0>(n487B);
          int ix4881#4 = Add<int>(t1487D,t2487F);
          int t24883#4 = Index<int{2},1>(n487B);
          int iy4885#1 = Add<int>(t1487D,t24883);
          int n04888#8 = 21;
          int t4889#1 = Mul<int>(n04888,iy4885);
          int index488A#1 = Add<int>(ix4881,t4889);
          addr(IMAGE2D<float>) imgBaseAddr488B#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a4887#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr488B,index488A);
          real4 v04891#1 = LoadVoxels<IMAGE2D<float>,4>(a4887);
          int iy4893#1 = Add<int>(_t2CCE,t24883);
          int t4897#1 = Mul<int>(n04888,iy4893);
          int index4898#1 = Add<int>(ix4881,t4897);
          addr(IMAGE2D<float>) a4895#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr488B,index4898);
          real4 v1489F#1 = LoadVoxels<IMAGE2D<float>,4>(a4895);
          int iy48A1#1 = Add<int>(_t2CD2,t24883);
          int t48A5#1 = Mul<int>(n04888,iy48A1);
          int index48A6#1 = Add<int>(ix4881,t48A5);
          addr(IMAGE2D<float>) a48A3#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr488B,index48A6);
          real4 v248AD#1 = LoadVoxels<IMAGE2D<float>,4>(a48A3);
          int iy48AF#1 = Add<int>(_t2CAA,t24883);
          int t48B3#1 = Mul<int>(n04888,iy48AF);
          int index48B4#1 = Add<int>(ix4881,t48B3);
          addr(IMAGE2D<float>) a48B1#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr488B,index48B4);
          real4 v348BB#1 = LoadVoxels<IMAGE2D<float>,4>(a48B1);
          real fy48BD#4 = Index<real2,1>(f4879);
          real t348BF#1 = Add<real>(fy48BD,_t2CA6);
          real t148C1#1 = Sub<real>(fy48BD,_t2CA6);
          real t048C3#1 = Sub<real>(fy48BD,_t2CA8);
          real4 a48C5#3 = <real4>[t348BF,fy48BD,t148C1,t048C3];
          real _f48D8#2 = 0.133333333333e1;
          real _f48D9#2 = 0.666666666667e0;
          real4 a048C8#4 = <real4>[_f48D8,_f48D9,_f48D9,_f48D8];
          real _f48D4#1 = -0.2e1;
          real _f48D5#2 = 0.0;
          real4 a148C9#4 = <real4>[_f48D4,_f48D5,_f48D5,_t2CA8];
          real _f48D1#2 = -0.1e1;
          real4 a248CA#4 = <real4>[_t2CA6,_f48D1,_f48D1,_t2CA6];
          real _f48CC#1 = -0.166666666667e0;
          real _f48CD#1 = 0.5e0;
          real _f48CE#1 = -0.5e0;
          real _f48CF#1 = 0.166666666667e0;
          real4 a348CB#4 = <real4>[_f48CC,_f48CD,_f48CE,_f48CF];
          real4 prod348DC#1 = Mul<real4>(a48C5,a348CB);
          real4 sum248DD#1 = Add<real4>(a248CA,prod348DC);
          real4 prod248DE#1 = Mul<real4>(a48C5,sum248DD);
          real4 sum148DF#1 = Add<real4>(a148C9,prod248DE);
          real4 prod148E0#1 = Mul<real4>(a48C5,sum148DF);
          real4 hy48C7#1 = Add<real4>(a048C8,prod148E0);
          real fx48FB#4 = Index<real2,0>(f4879);
          real t348FD#1 = Add<real>(fx48FB,_t2CA6);
          real t148FF#1 = Sub<real>(fx48FB,_t2CA6);
          real t04901#1 = Sub<real>(fx48FB,_t2CA8);
          real4 a4903#3 = <real4>[t348FD,fx48FB,t148FF,t04901];
          real4 prod3491A#1 = Mul<real4>(a4903,a348CB);
          real4 sum2491B#1 = Add<real4>(a248CA,prod3491A);
          real4 prod2491C#1 = Mul<real4>(a4903,sum2491B);
          real4 sum1491D#1 = Add<real4>(a148C9,prod2491C);
          real4 prod1491E#1 = Mul<real4>(a4903,sum1491D);
          real4 hx4905#4 = Add<real4>(a048C8,prod1491E);
          real t04939#1 = Dot<4>(v04891,hx4905);
          real t1493B#1 = Dot<4>(v1489F,hx4905);
          real t2493D#1 = Dot<4>(v248AD,hx4905);
          real t3493F#1 = Dot<4>(v348BB,hx4905);
          real4 tv4941#1 = <real4>[t04939,t1493B,t2493D,t3493F];
          real _t4943#1 = Dot<4>(hy48C7,tv4941);
          real2 x4945#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v162C55);
          real2 nd4947#2 = Floor<2>(x4945);
          real2 f4949#2 = Sub<real2>(x4945,nd4947);
          int{2} n494B#2 = RealToInt<2>(nd4947);
          int t2494D#1 = Index<int{2},0>(n494B);
          int ix494F#4 = Add<int>(t1487D,t2494D);
          int t24951#4 = Index<int{2},1>(n494B);
          int iy4953#1 = Add<int>(t1487D,t24951);
          int t4957#1 = Mul<int>(n04888,iy4953);
          int index4958#1 = Add<int>(ix494F,t4957);
          addr(IMAGE2D<int>) imgBaseAddr4959#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a4955#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4959,index4958);
          real4 v0495F#1 = LoadVoxels<IMAGE2D<int>,4>(a4955);
          int iy4961#1 = Add<int>(_t2CCE,t24951);
          int t4965#1 = Mul<int>(n04888,iy4961);
          int index4966#1 = Add<int>(ix494F,t4965);
          addr(IMAGE2D<int>) a4963#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4959,index4966);
          real4 v1496D#1 = LoadVoxels<IMAGE2D<int>,4>(a4963);
          int iy496F#1 = Add<int>(_t2CD2,t24951);
          int t4973#1 = Mul<int>(n04888,iy496F);
          int index4974#1 = Add<int>(ix494F,t4973);
          addr(IMAGE2D<int>) a4971#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4959,index4974);
          real4 v2497B#1 = LoadVoxels<IMAGE2D<int>,4>(a4971);
          int iy497D#1 = Add<int>(_t2CAA,t24951);
          int t4981#1 = Mul<int>(n04888,iy497D);
          int index4982#1 = Add<int>(ix494F,t4981);
          addr(IMAGE2D<int>) a497F#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4959,index4982);
          real4 v34989#1 = LoadVoxels<IMAGE2D<int>,4>(a497F);
          real fy498B#4 = Index<real2,1>(f4949);
          real t3498D#1 = Add<real>(fy498B,_t2CA6);
          real t1498F#1 = Sub<real>(fy498B,_t2CA6);
          real t04991#1 = Sub<real>(fy498B,_t2CA8);
          real4 a4993#3 = <real4>[t3498D,fy498B,t1498F,t04991];
          real4 prod349AA#1 = Mul<real4>(a4993,a348CB);
          real4 sum249AB#1 = Add<real4>(a248CA,prod349AA);
          real4 prod249AC#1 = Mul<real4>(a4993,sum249AB);
          real4 sum149AD#1 = Add<real4>(a148C9,prod249AC);
          real4 prod149AE#1 = Mul<real4>(a4993,sum149AD);
          real4 hy4995#1 = Add<real4>(a048C8,prod149AE);
          real fx49C9#4 = Index<real2,0>(f4949);
          real t349CB#1 = Add<real>(fx49C9,_t2CA6);
          real t149CD#1 = Sub<real>(fx49C9,_t2CA6);
          real t049CF#1 = Sub<real>(fx49C9,_t2CA8);
          real4 a49D1#3 = <real4>[t349CB,fx49C9,t149CD,t049CF];
          real4 prod349E8#1 = Mul<real4>(a49D1,a348CB);
          real4 sum249E9#1 = Add<real4>(a248CA,prod349E8);
          real4 prod249EA#1 = Mul<real4>(a49D1,sum249E9);
          real4 sum149EB#1 = Add<real4>(a148C9,prod249EA);
          real4 prod149EC#1 = Mul<real4>(a49D1,sum149EB);
          real4 hx49D3#4 = Add<real4>(a048C8,prod149EC);
          real t04A07#1 = Dot<4>(v0495F,hx49D3);
          real t14A09#1 = Dot<4>(v1496D,hx49D3);
          real t24A0B#1 = Dot<4>(v2497B,hx49D3);
          real t34A0D#1 = Dot<4>(v34989,hx49D3);
          real4 tv4A0F#1 = <real4>[t04A07,t14A09,t24A0B,t34A0D];
          real _t4A11#1 = Dot<4>(hy4995,tv4A0F);
          real _t4A13#2 = Sub<real>(_t4943,_t4A11);
          real _t4A15#1 = Mul<real>(_t4A13,_t4A13);
          real score4A17#1 = Add<real>(score4860,_t4A15);
          goto JOIN4A1A
        JOIN4A1A:  preds = [ASSIGN4A18,COND4876]
          real score4A19#2 = phi(score4A17,score4860)
          real _t4A1B#1 = Dot<2>(r02CC0,v172C57);
          real _t4A1D#1 = Dot<2>(r12CC6,v172C57);
          real2 _t4A1F#1 = <real2>[_t4A1B,_t4A1D];
          real2 pos4A21#1 = Add<real2>(_t4A1F,_t2CD6);
          real2 x4A23#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos4A21);
          bool _t4A25#1 = Inside<IMAGE2D<float>,2>(x4A23,_t2C29);
          if _t4A25 then goto ASSIGN4A29 else goto ASSIGN57F0
        ASSIGN4A29:  preds = [COND4A27]
          real2 x4A28#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v172C57);
          bool _t4A2A#1 = Inside<IMAGE2D<int>,2>(x4A28,_t2C25);
          goto JOIN4A2E
        JOIN4A2E:  preds = [ASSIGN4A2B,ASSIGN57F0]
          bool _t4A2C#1 = phi(_t4A2A,_t4A2D)
          if _t4A2C then goto ASSIGN4A31 else goto JOIN4BD3
        ASSIGN4A31:  preds = [COND4A2F]
          real2 nd4A30#2 = Floor<2>(x4A23);
          real2 f4A32#2 = Sub<real2>(x4A23,nd4A30);
          int{2} n4A34#2 = RealToInt<2>(nd4A30);
          int t14A36#4 = -1;
          int t24A38#1 = Index<int{2},0>(n4A34);
          int ix4A3A#4 = Add<int>(t14A36,t24A38);
          int t24A3C#4 = Index<int{2},1>(n4A34);
          int iy4A3E#1 = Add<int>(t14A36,t24A3C);
          int n04A41#8 = 21;
          int t4A42#1 = Mul<int>(n04A41,iy4A3E);
          int index4A43#1 = Add<int>(ix4A3A,t4A42);
          addr(IMAGE2D<float>) imgBaseAddr4A44#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a4A40#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4A44,index4A43);
          real4 v04A4A#1 = LoadVoxels<IMAGE2D<float>,4>(a4A40);
          int iy4A4C#1 = Add<int>(_t2CCE,t24A3C);
          int t4A50#1 = Mul<int>(n04A41,iy4A4C);
          int index4A51#1 = Add<int>(ix4A3A,t4A50);
          addr(IMAGE2D<float>) a4A4E#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4A44,index4A51);
          real4 v14A58#1 = LoadVoxels<IMAGE2D<float>,4>(a4A4E);
          int iy4A5A#1 = Add<int>(_t2CD2,t24A3C);
          int t4A5E#1 = Mul<int>(n04A41,iy4A5A);
          int index4A5F#1 = Add<int>(ix4A3A,t4A5E);
          addr(IMAGE2D<float>) a4A5C#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4A44,index4A5F);
          real4 v24A66#1 = LoadVoxels<IMAGE2D<float>,4>(a4A5C);
          int iy4A68#1 = Add<int>(_t2CAA,t24A3C);
          int t4A6C#1 = Mul<int>(n04A41,iy4A68);
          int index4A6D#1 = Add<int>(ix4A3A,t4A6C);
          addr(IMAGE2D<float>) a4A6A#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4A44,index4A6D);
          real4 v34A74#1 = LoadVoxels<IMAGE2D<float>,4>(a4A6A);
          real fy4A76#4 = Index<real2,1>(f4A32);
          real t34A78#1 = Add<real>(fy4A76,_t2CA6);
          real t14A7A#1 = Sub<real>(fy4A76,_t2CA6);
          real t04A7C#1 = Sub<real>(fy4A76,_t2CA8);
          real4 a4A7E#3 = <real4>[t34A78,fy4A76,t14A7A,t04A7C];
          real _f4A91#2 = 0.133333333333e1;
          real _f4A92#2 = 0.666666666667e0;
          real4 a04A81#4 = <real4>[_f4A91,_f4A92,_f4A92,_f4A91];
          real _f4A8D#1 = -0.2e1;
          real _f4A8E#2 = 0.0;
          real4 a14A82#4 = <real4>[_f4A8D,_f4A8E,_f4A8E,_t2CA8];
          real _f4A8A#2 = -0.1e1;
          real4 a24A83#4 = <real4>[_t2CA6,_f4A8A,_f4A8A,_t2CA6];
          real _f4A85#1 = -0.166666666667e0;
          real _f4A86#1 = 0.5e0;
          real _f4A87#1 = -0.5e0;
          real _f4A88#1 = 0.166666666667e0;
          real4 a34A84#4 = <real4>[_f4A85,_f4A86,_f4A87,_f4A88];
          real4 prod34A95#1 = Mul<real4>(a4A7E,a34A84);
          real4 sum24A96#1 = Add<real4>(a24A83,prod34A95);
          real4 prod24A97#1 = Mul<real4>(a4A7E,sum24A96);
          real4 sum14A98#1 = Add<real4>(a14A82,prod24A97);
          real4 prod14A99#1 = Mul<real4>(a4A7E,sum14A98);
          real4 hy4A80#1 = Add<real4>(a04A81,prod14A99);
          real fx4AB4#4 = Index<real2,0>(f4A32);
          real t34AB6#1 = Add<real>(fx4AB4,_t2CA6);
          real t14AB8#1 = Sub<real>(fx4AB4,_t2CA6);
          real t04ABA#1 = Sub<real>(fx4AB4,_t2CA8);
          real4 a4ABC#3 = <real4>[t34AB6,fx4AB4,t14AB8,t04ABA];
          real4 prod34AD3#1 = Mul<real4>(a4ABC,a34A84);
          real4 sum24AD4#1 = Add<real4>(a24A83,prod34AD3);
          real4 prod24AD5#1 = Mul<real4>(a4ABC,sum24AD4);
          real4 sum14AD6#1 = Add<real4>(a14A82,prod24AD5);
          real4 prod14AD7#1 = Mul<real4>(a4ABC,sum14AD6);
          real4 hx4ABE#4 = Add<real4>(a04A81,prod14AD7);
          real t04AF2#1 = Dot<4>(v04A4A,hx4ABE);
          real t14AF4#1 = Dot<4>(v14A58,hx4ABE);
          real t24AF6#1 = Dot<4>(v24A66,hx4ABE);
          real t34AF8#1 = Dot<4>(v34A74,hx4ABE);
          real4 tv4AFA#1 = <real4>[t04AF2,t14AF4,t24AF6,t34AF8];
          real _t4AFC#1 = Dot<4>(hy4A80,tv4AFA);
          real2 x4AFE#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v172C57);
          real2 nd4B00#2 = Floor<2>(x4AFE);
          real2 f4B02#2 = Sub<real2>(x4AFE,nd4B00);
          int{2} n4B04#2 = RealToInt<2>(nd4B00);
          int t24B06#1 = Index<int{2},0>(n4B04);
          int ix4B08#4 = Add<int>(t14A36,t24B06);
          int t24B0A#4 = Index<int{2},1>(n4B04);
          int iy4B0C#1 = Add<int>(t14A36,t24B0A);
          int t4B10#1 = Mul<int>(n04A41,iy4B0C);
          int index4B11#1 = Add<int>(ix4B08,t4B10);
          addr(IMAGE2D<int>) imgBaseAddr4B12#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a4B0E#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4B12,index4B11);
          real4 v04B18#1 = LoadVoxels<IMAGE2D<int>,4>(a4B0E);
          int iy4B1A#1 = Add<int>(_t2CCE,t24B0A);
          int t4B1E#1 = Mul<int>(n04A41,iy4B1A);
          int index4B1F#1 = Add<int>(ix4B08,t4B1E);
          addr(IMAGE2D<int>) a4B1C#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4B12,index4B1F);
          real4 v14B26#1 = LoadVoxels<IMAGE2D<int>,4>(a4B1C);
          int iy4B28#1 = Add<int>(_t2CD2,t24B0A);
          int t4B2C#1 = Mul<int>(n04A41,iy4B28);
          int index4B2D#1 = Add<int>(ix4B08,t4B2C);
          addr(IMAGE2D<int>) a4B2A#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4B12,index4B2D);
          real4 v24B34#1 = LoadVoxels<IMAGE2D<int>,4>(a4B2A);
          int iy4B36#1 = Add<int>(_t2CAA,t24B0A);
          int t4B3A#1 = Mul<int>(n04A41,iy4B36);
          int index4B3B#1 = Add<int>(ix4B08,t4B3A);
          addr(IMAGE2D<int>) a4B38#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4B12,index4B3B);
          real4 v34B42#1 = LoadVoxels<IMAGE2D<int>,4>(a4B38);
          real fy4B44#4 = Index<real2,1>(f4B02);
          real t34B46#1 = Add<real>(fy4B44,_t2CA6);
          real t14B48#1 = Sub<real>(fy4B44,_t2CA6);
          real t04B4A#1 = Sub<real>(fy4B44,_t2CA8);
          real4 a4B4C#3 = <real4>[t34B46,fy4B44,t14B48,t04B4A];
          real4 prod34B63#1 = Mul<real4>(a4B4C,a34A84);
          real4 sum24B64#1 = Add<real4>(a24A83,prod34B63);
          real4 prod24B65#1 = Mul<real4>(a4B4C,sum24B64);
          real4 sum14B66#1 = Add<real4>(a14A82,prod24B65);
          real4 prod14B67#1 = Mul<real4>(a4B4C,sum14B66);
          real4 hy4B4E#1 = Add<real4>(a04A81,prod14B67);
          real fx4B82#4 = Index<real2,0>(f4B02);
          real t34B84#1 = Add<real>(fx4B82,_t2CA6);
          real t14B86#1 = Sub<real>(fx4B82,_t2CA6);
          real t04B88#1 = Sub<real>(fx4B82,_t2CA8);
          real4 a4B8A#3 = <real4>[t34B84,fx4B82,t14B86,t04B88];
          real4 prod34BA1#1 = Mul<real4>(a4B8A,a34A84);
          real4 sum24BA2#1 = Add<real4>(a24A83,prod34BA1);
          real4 prod24BA3#1 = Mul<real4>(a4B8A,sum24BA2);
          real4 sum14BA4#1 = Add<real4>(a14A82,prod24BA3);
          real4 prod14BA5#1 = Mul<real4>(a4B8A,sum14BA4);
          real4 hx4B8C#4 = Add<real4>(a04A81,prod14BA5);
          real t04BC0#1 = Dot<4>(v04B18,hx4B8C);
          real t14BC2#1 = Dot<4>(v14B26,hx4B8C);
          real t24BC4#1 = Dot<4>(v24B34,hx4B8C);
          real t34BC6#1 = Dot<4>(v34B42,hx4B8C);
          real4 tv4BC8#1 = <real4>[t04BC0,t14BC2,t24BC4,t34BC6];
          real _t4BCA#1 = Dot<4>(hy4B4E,tv4BC8);
          real _t4BCC#2 = Sub<real>(_t4AFC,_t4BCA);
          real _t4BCE#1 = Mul<real>(_t4BCC,_t4BCC);
          real score4BD0#1 = Add<real>(score4A19,_t4BCE);
          goto JOIN4BD3
        JOIN4BD3:  preds = [ASSIGN4BD1,COND4A2F]
          real score4BD2#2 = phi(score4BD0,score4A19)
          real _t4BD4#1 = Dot<2>(r02CC0,v182C59);
          real _t4BD6#1 = Dot<2>(r12CC6,v182C59);
          real2 _t4BD8#1 = <real2>[_t4BD4,_t4BD6];
          real2 pos4BDA#1 = Add<real2>(_t4BD8,_t2CD6);
          real2 x4BDC#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos4BDA);
          bool _t4BDE#1 = Inside<IMAGE2D<float>,2>(x4BDC,_t2C29);
          if _t4BDE then goto ASSIGN4BE2 else goto ASSIGN57EF
        ASSIGN4BE2:  preds = [COND4BE0]
          real2 x4BE1#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v182C59);
          bool _t4BE3#1 = Inside<IMAGE2D<int>,2>(x4BE1,_t2C25);
          goto JOIN4BE7
        JOIN4BE7:  preds = [ASSIGN4BE4,ASSIGN57EF]
          bool _t4BE5#1 = phi(_t4BE3,_t4BE6)
          if _t4BE5 then goto ASSIGN4BEA else goto JOIN4D8C
        ASSIGN4BEA:  preds = [COND4BE8]
          real2 nd4BE9#2 = Floor<2>(x4BDC);
          real2 f4BEB#2 = Sub<real2>(x4BDC,nd4BE9);
          int{2} n4BED#2 = RealToInt<2>(nd4BE9);
          int t14BEF#4 = -1;
          int t24BF1#1 = Index<int{2},0>(n4BED);
          int ix4BF3#4 = Add<int>(t14BEF,t24BF1);
          int t24BF5#4 = Index<int{2},1>(n4BED);
          int iy4BF7#1 = Add<int>(t14BEF,t24BF5);
          int n04BFA#8 = 21;
          int t4BFB#1 = Mul<int>(n04BFA,iy4BF7);
          int index4BFC#1 = Add<int>(ix4BF3,t4BFB);
          addr(IMAGE2D<float>) imgBaseAddr4BFD#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a4BF9#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4BFD,index4BFC);
          real4 v04C03#1 = LoadVoxels<IMAGE2D<float>,4>(a4BF9);
          int iy4C05#1 = Add<int>(_t2CCE,t24BF5);
          int t4C09#1 = Mul<int>(n04BFA,iy4C05);
          int index4C0A#1 = Add<int>(ix4BF3,t4C09);
          addr(IMAGE2D<float>) a4C07#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4BFD,index4C0A);
          real4 v14C11#1 = LoadVoxels<IMAGE2D<float>,4>(a4C07);
          int iy4C13#1 = Add<int>(_t2CD2,t24BF5);
          int t4C17#1 = Mul<int>(n04BFA,iy4C13);
          int index4C18#1 = Add<int>(ix4BF3,t4C17);
          addr(IMAGE2D<float>) a4C15#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4BFD,index4C18);
          real4 v24C1F#1 = LoadVoxels<IMAGE2D<float>,4>(a4C15);
          int iy4C21#1 = Add<int>(_t2CAA,t24BF5);
          int t4C25#1 = Mul<int>(n04BFA,iy4C21);
          int index4C26#1 = Add<int>(ix4BF3,t4C25);
          addr(IMAGE2D<float>) a4C23#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4BFD,index4C26);
          real4 v34C2D#1 = LoadVoxels<IMAGE2D<float>,4>(a4C23);
          real fy4C2F#4 = Index<real2,1>(f4BEB);
          real t34C31#1 = Add<real>(fy4C2F,_t2CA6);
          real t14C33#1 = Sub<real>(fy4C2F,_t2CA6);
          real t04C35#1 = Sub<real>(fy4C2F,_t2CA8);
          real4 a4C37#3 = <real4>[t34C31,fy4C2F,t14C33,t04C35];
          real _f4C4A#2 = 0.133333333333e1;
          real _f4C4B#2 = 0.666666666667e0;
          real4 a04C3A#4 = <real4>[_f4C4A,_f4C4B,_f4C4B,_f4C4A];
          real _f4C46#1 = -0.2e1;
          real _f4C47#2 = 0.0;
          real4 a14C3B#4 = <real4>[_f4C46,_f4C47,_f4C47,_t2CA8];
          real _f4C43#2 = -0.1e1;
          real4 a24C3C#4 = <real4>[_t2CA6,_f4C43,_f4C43,_t2CA6];
          real _f4C3E#1 = -0.166666666667e0;
          real _f4C3F#1 = 0.5e0;
          real _f4C40#1 = -0.5e0;
          real _f4C41#1 = 0.166666666667e0;
          real4 a34C3D#4 = <real4>[_f4C3E,_f4C3F,_f4C40,_f4C41];
          real4 prod34C4E#1 = Mul<real4>(a4C37,a34C3D);
          real4 sum24C4F#1 = Add<real4>(a24C3C,prod34C4E);
          real4 prod24C50#1 = Mul<real4>(a4C37,sum24C4F);
          real4 sum14C51#1 = Add<real4>(a14C3B,prod24C50);
          real4 prod14C52#1 = Mul<real4>(a4C37,sum14C51);
          real4 hy4C39#1 = Add<real4>(a04C3A,prod14C52);
          real fx4C6D#4 = Index<real2,0>(f4BEB);
          real t34C6F#1 = Add<real>(fx4C6D,_t2CA6);
          real t14C71#1 = Sub<real>(fx4C6D,_t2CA6);
          real t04C73#1 = Sub<real>(fx4C6D,_t2CA8);
          real4 a4C75#3 = <real4>[t34C6F,fx4C6D,t14C71,t04C73];
          real4 prod34C8C#1 = Mul<real4>(a4C75,a34C3D);
          real4 sum24C8D#1 = Add<real4>(a24C3C,prod34C8C);
          real4 prod24C8E#1 = Mul<real4>(a4C75,sum24C8D);
          real4 sum14C8F#1 = Add<real4>(a14C3B,prod24C8E);
          real4 prod14C90#1 = Mul<real4>(a4C75,sum14C8F);
          real4 hx4C77#4 = Add<real4>(a04C3A,prod14C90);
          real t04CAB#1 = Dot<4>(v04C03,hx4C77);
          real t14CAD#1 = Dot<4>(v14C11,hx4C77);
          real t24CAF#1 = Dot<4>(v24C1F,hx4C77);
          real t34CB1#1 = Dot<4>(v34C2D,hx4C77);
          real4 tv4CB3#1 = <real4>[t04CAB,t14CAD,t24CAF,t34CB1];
          real _t4CB5#1 = Dot<4>(hy4C39,tv4CB3);
          real2 x4CB7#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v182C59);
          real2 nd4CB9#2 = Floor<2>(x4CB7);
          real2 f4CBB#2 = Sub<real2>(x4CB7,nd4CB9);
          int{2} n4CBD#2 = RealToInt<2>(nd4CB9);
          int t24CBF#1 = Index<int{2},0>(n4CBD);
          int ix4CC1#4 = Add<int>(t14BEF,t24CBF);
          int t24CC3#4 = Index<int{2},1>(n4CBD);
          int iy4CC5#1 = Add<int>(t14BEF,t24CC3);
          int t4CC9#1 = Mul<int>(n04BFA,iy4CC5);
          int index4CCA#1 = Add<int>(ix4CC1,t4CC9);
          addr(IMAGE2D<int>) imgBaseAddr4CCB#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a4CC7#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4CCB,index4CCA);
          real4 v04CD1#1 = LoadVoxels<IMAGE2D<int>,4>(a4CC7);
          int iy4CD3#1 = Add<int>(_t2CCE,t24CC3);
          int t4CD7#1 = Mul<int>(n04BFA,iy4CD3);
          int index4CD8#1 = Add<int>(ix4CC1,t4CD7);
          addr(IMAGE2D<int>) a4CD5#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4CCB,index4CD8);
          real4 v14CDF#1 = LoadVoxels<IMAGE2D<int>,4>(a4CD5);
          int iy4CE1#1 = Add<int>(_t2CD2,t24CC3);
          int t4CE5#1 = Mul<int>(n04BFA,iy4CE1);
          int index4CE6#1 = Add<int>(ix4CC1,t4CE5);
          addr(IMAGE2D<int>) a4CE3#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4CCB,index4CE6);
          real4 v24CED#1 = LoadVoxels<IMAGE2D<int>,4>(a4CE3);
          int iy4CEF#1 = Add<int>(_t2CAA,t24CC3);
          int t4CF3#1 = Mul<int>(n04BFA,iy4CEF);
          int index4CF4#1 = Add<int>(ix4CC1,t4CF3);
          addr(IMAGE2D<int>) a4CF1#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4CCB,index4CF4);
          real4 v34CFB#1 = LoadVoxels<IMAGE2D<int>,4>(a4CF1);
          real fy4CFD#4 = Index<real2,1>(f4CBB);
          real t34CFF#1 = Add<real>(fy4CFD,_t2CA6);
          real t14D01#1 = Sub<real>(fy4CFD,_t2CA6);
          real t04D03#1 = Sub<real>(fy4CFD,_t2CA8);
          real4 a4D05#3 = <real4>[t34CFF,fy4CFD,t14D01,t04D03];
          real4 prod34D1C#1 = Mul<real4>(a4D05,a34C3D);
          real4 sum24D1D#1 = Add<real4>(a24C3C,prod34D1C);
          real4 prod24D1E#1 = Mul<real4>(a4D05,sum24D1D);
          real4 sum14D1F#1 = Add<real4>(a14C3B,prod24D1E);
          real4 prod14D20#1 = Mul<real4>(a4D05,sum14D1F);
          real4 hy4D07#1 = Add<real4>(a04C3A,prod14D20);
          real fx4D3B#4 = Index<real2,0>(f4CBB);
          real t34D3D#1 = Add<real>(fx4D3B,_t2CA6);
          real t14D3F#1 = Sub<real>(fx4D3B,_t2CA6);
          real t04D41#1 = Sub<real>(fx4D3B,_t2CA8);
          real4 a4D43#3 = <real4>[t34D3D,fx4D3B,t14D3F,t04D41];
          real4 prod34D5A#1 = Mul<real4>(a4D43,a34C3D);
          real4 sum24D5B#1 = Add<real4>(a24C3C,prod34D5A);
          real4 prod24D5C#1 = Mul<real4>(a4D43,sum24D5B);
          real4 sum14D5D#1 = Add<real4>(a14C3B,prod24D5C);
          real4 prod14D5E#1 = Mul<real4>(a4D43,sum14D5D);
          real4 hx4D45#4 = Add<real4>(a04C3A,prod14D5E);
          real t04D79#1 = Dot<4>(v04CD1,hx4D45);
          real t14D7B#1 = Dot<4>(v14CDF,hx4D45);
          real t24D7D#1 = Dot<4>(v24CED,hx4D45);
          real t34D7F#1 = Dot<4>(v34CFB,hx4D45);
          real4 tv4D81#1 = <real4>[t04D79,t14D7B,t24D7D,t34D7F];
          real _t4D83#1 = Dot<4>(hy4D07,tv4D81);
          real _t4D85#2 = Sub<real>(_t4CB5,_t4D83);
          real _t4D87#1 = Mul<real>(_t4D85,_t4D85);
          real score4D89#1 = Add<real>(score4BD2,_t4D87);
          goto JOIN4D8C
        JOIN4D8C:  preds = [ASSIGN4D8A,COND4BE8]
          real score4D8B#2 = phi(score4D89,score4BD2)
          real _t4D8D#1 = Dot<2>(r02CC0,v192C5B);
          real _t4D8F#1 = Dot<2>(r12CC6,v192C5B);
          real2 _t4D91#1 = <real2>[_t4D8D,_t4D8F];
          real2 pos4D93#1 = Add<real2>(_t4D91,_t2CD6);
          real2 x4D95#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos4D93);
          bool _t4D97#1 = Inside<IMAGE2D<float>,2>(x4D95,_t2C29);
          if _t4D97 then goto ASSIGN4D9B else goto ASSIGN57EE
        ASSIGN4D9B:  preds = [COND4D99]
          real2 x4D9A#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v192C5B);
          bool _t4D9C#1 = Inside<IMAGE2D<int>,2>(x4D9A,_t2C25);
          goto JOIN4DA0
        JOIN4DA0:  preds = [ASSIGN4D9D,ASSIGN57EE]
          bool _t4D9E#1 = phi(_t4D9C,_t4D9F)
          if _t4D9E then goto ASSIGN4DA3 else goto JOIN4F45
        ASSIGN4DA3:  preds = [COND4DA1]
          real2 nd4DA2#2 = Floor<2>(x4D95);
          real2 f4DA4#2 = Sub<real2>(x4D95,nd4DA2);
          int{2} n4DA6#2 = RealToInt<2>(nd4DA2);
          int t14DA8#4 = -1;
          int t24DAA#1 = Index<int{2},0>(n4DA6);
          int ix4DAC#4 = Add<int>(t14DA8,t24DAA);
          int t24DAE#4 = Index<int{2},1>(n4DA6);
          int iy4DB0#1 = Add<int>(t14DA8,t24DAE);
          int n04DB3#8 = 21;
          int t4DB4#1 = Mul<int>(n04DB3,iy4DB0);
          int index4DB5#1 = Add<int>(ix4DAC,t4DB4);
          addr(IMAGE2D<float>) imgBaseAddr4DB6#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a4DB2#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4DB6,index4DB5);
          real4 v04DBC#1 = LoadVoxels<IMAGE2D<float>,4>(a4DB2);
          int iy4DBE#1 = Add<int>(_t2CCE,t24DAE);
          int t4DC2#1 = Mul<int>(n04DB3,iy4DBE);
          int index4DC3#1 = Add<int>(ix4DAC,t4DC2);
          addr(IMAGE2D<float>) a4DC0#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4DB6,index4DC3);
          real4 v14DCA#1 = LoadVoxels<IMAGE2D<float>,4>(a4DC0);
          int iy4DCC#1 = Add<int>(_t2CD2,t24DAE);
          int t4DD0#1 = Mul<int>(n04DB3,iy4DCC);
          int index4DD1#1 = Add<int>(ix4DAC,t4DD0);
          addr(IMAGE2D<float>) a4DCE#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4DB6,index4DD1);
          real4 v24DD8#1 = LoadVoxels<IMAGE2D<float>,4>(a4DCE);
          int iy4DDA#1 = Add<int>(_t2CAA,t24DAE);
          int t4DDE#1 = Mul<int>(n04DB3,iy4DDA);
          int index4DDF#1 = Add<int>(ix4DAC,t4DDE);
          addr(IMAGE2D<float>) a4DDC#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4DB6,index4DDF);
          real4 v34DE6#1 = LoadVoxels<IMAGE2D<float>,4>(a4DDC);
          real fy4DE8#4 = Index<real2,1>(f4DA4);
          real t34DEA#1 = Add<real>(fy4DE8,_t2CA6);
          real t14DEC#1 = Sub<real>(fy4DE8,_t2CA6);
          real t04DEE#1 = Sub<real>(fy4DE8,_t2CA8);
          real4 a4DF0#3 = <real4>[t34DEA,fy4DE8,t14DEC,t04DEE];
          real _f4E03#2 = 0.133333333333e1;
          real _f4E04#2 = 0.666666666667e0;
          real4 a04DF3#4 = <real4>[_f4E03,_f4E04,_f4E04,_f4E03];
          real _f4DFF#1 = -0.2e1;
          real _f4E00#2 = 0.0;
          real4 a14DF4#4 = <real4>[_f4DFF,_f4E00,_f4E00,_t2CA8];
          real _f4DFC#2 = -0.1e1;
          real4 a24DF5#4 = <real4>[_t2CA6,_f4DFC,_f4DFC,_t2CA6];
          real _f4DF7#1 = -0.166666666667e0;
          real _f4DF8#1 = 0.5e0;
          real _f4DF9#1 = -0.5e0;
          real _f4DFA#1 = 0.166666666667e0;
          real4 a34DF6#4 = <real4>[_f4DF7,_f4DF8,_f4DF9,_f4DFA];
          real4 prod34E07#1 = Mul<real4>(a4DF0,a34DF6);
          real4 sum24E08#1 = Add<real4>(a24DF5,prod34E07);
          real4 prod24E09#1 = Mul<real4>(a4DF0,sum24E08);
          real4 sum14E0A#1 = Add<real4>(a14DF4,prod24E09);
          real4 prod14E0B#1 = Mul<real4>(a4DF0,sum14E0A);
          real4 hy4DF2#1 = Add<real4>(a04DF3,prod14E0B);
          real fx4E26#4 = Index<real2,0>(f4DA4);
          real t34E28#1 = Add<real>(fx4E26,_t2CA6);
          real t14E2A#1 = Sub<real>(fx4E26,_t2CA6);
          real t04E2C#1 = Sub<real>(fx4E26,_t2CA8);
          real4 a4E2E#3 = <real4>[t34E28,fx4E26,t14E2A,t04E2C];
          real4 prod34E45#1 = Mul<real4>(a4E2E,a34DF6);
          real4 sum24E46#1 = Add<real4>(a24DF5,prod34E45);
          real4 prod24E47#1 = Mul<real4>(a4E2E,sum24E46);
          real4 sum14E48#1 = Add<real4>(a14DF4,prod24E47);
          real4 prod14E49#1 = Mul<real4>(a4E2E,sum14E48);
          real4 hx4E30#4 = Add<real4>(a04DF3,prod14E49);
          real t04E64#1 = Dot<4>(v04DBC,hx4E30);
          real t14E66#1 = Dot<4>(v14DCA,hx4E30);
          real t24E68#1 = Dot<4>(v24DD8,hx4E30);
          real t34E6A#1 = Dot<4>(v34DE6,hx4E30);
          real4 tv4E6C#1 = <real4>[t04E64,t14E66,t24E68,t34E6A];
          real _t4E6E#1 = Dot<4>(hy4DF2,tv4E6C);
          real2 x4E70#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v192C5B);
          real2 nd4E72#2 = Floor<2>(x4E70);
          real2 f4E74#2 = Sub<real2>(x4E70,nd4E72);
          int{2} n4E76#2 = RealToInt<2>(nd4E72);
          int t24E78#1 = Index<int{2},0>(n4E76);
          int ix4E7A#4 = Add<int>(t14DA8,t24E78);
          int t24E7C#4 = Index<int{2},1>(n4E76);
          int iy4E7E#1 = Add<int>(t14DA8,t24E7C);
          int t4E82#1 = Mul<int>(n04DB3,iy4E7E);
          int index4E83#1 = Add<int>(ix4E7A,t4E82);
          addr(IMAGE2D<int>) imgBaseAddr4E84#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a4E80#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4E84,index4E83);
          real4 v04E8A#1 = LoadVoxels<IMAGE2D<int>,4>(a4E80);
          int iy4E8C#1 = Add<int>(_t2CCE,t24E7C);
          int t4E90#1 = Mul<int>(n04DB3,iy4E8C);
          int index4E91#1 = Add<int>(ix4E7A,t4E90);
          addr(IMAGE2D<int>) a4E8E#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4E84,index4E91);
          real4 v14E98#1 = LoadVoxels<IMAGE2D<int>,4>(a4E8E);
          int iy4E9A#1 = Add<int>(_t2CD2,t24E7C);
          int t4E9E#1 = Mul<int>(n04DB3,iy4E9A);
          int index4E9F#1 = Add<int>(ix4E7A,t4E9E);
          addr(IMAGE2D<int>) a4E9C#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4E84,index4E9F);
          real4 v24EA6#1 = LoadVoxels<IMAGE2D<int>,4>(a4E9C);
          int iy4EA8#1 = Add<int>(_t2CAA,t24E7C);
          int t4EAC#1 = Mul<int>(n04DB3,iy4EA8);
          int index4EAD#1 = Add<int>(ix4E7A,t4EAC);
          addr(IMAGE2D<int>) a4EAA#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4E84,index4EAD);
          real4 v34EB4#1 = LoadVoxels<IMAGE2D<int>,4>(a4EAA);
          real fy4EB6#4 = Index<real2,1>(f4E74);
          real t34EB8#1 = Add<real>(fy4EB6,_t2CA6);
          real t14EBA#1 = Sub<real>(fy4EB6,_t2CA6);
          real t04EBC#1 = Sub<real>(fy4EB6,_t2CA8);
          real4 a4EBE#3 = <real4>[t34EB8,fy4EB6,t14EBA,t04EBC];
          real4 prod34ED5#1 = Mul<real4>(a4EBE,a34DF6);
          real4 sum24ED6#1 = Add<real4>(a24DF5,prod34ED5);
          real4 prod24ED7#1 = Mul<real4>(a4EBE,sum24ED6);
          real4 sum14ED8#1 = Add<real4>(a14DF4,prod24ED7);
          real4 prod14ED9#1 = Mul<real4>(a4EBE,sum14ED8);
          real4 hy4EC0#1 = Add<real4>(a04DF3,prod14ED9);
          real fx4EF4#4 = Index<real2,0>(f4E74);
          real t34EF6#1 = Add<real>(fx4EF4,_t2CA6);
          real t14EF8#1 = Sub<real>(fx4EF4,_t2CA6);
          real t04EFA#1 = Sub<real>(fx4EF4,_t2CA8);
          real4 a4EFC#3 = <real4>[t34EF6,fx4EF4,t14EF8,t04EFA];
          real4 prod34F13#1 = Mul<real4>(a4EFC,a34DF6);
          real4 sum24F14#1 = Add<real4>(a24DF5,prod34F13);
          real4 prod24F15#1 = Mul<real4>(a4EFC,sum24F14);
          real4 sum14F16#1 = Add<real4>(a14DF4,prod24F15);
          real4 prod14F17#1 = Mul<real4>(a4EFC,sum14F16);
          real4 hx4EFE#4 = Add<real4>(a04DF3,prod14F17);
          real t04F32#1 = Dot<4>(v04E8A,hx4EFE);
          real t14F34#1 = Dot<4>(v14E98,hx4EFE);
          real t24F36#1 = Dot<4>(v24EA6,hx4EFE);
          real t34F38#1 = Dot<4>(v34EB4,hx4EFE);
          real4 tv4F3A#1 = <real4>[t04F32,t14F34,t24F36,t34F38];
          real _t4F3C#1 = Dot<4>(hy4EC0,tv4F3A);
          real _t4F3E#2 = Sub<real>(_t4E6E,_t4F3C);
          real _t4F40#1 = Mul<real>(_t4F3E,_t4F3E);
          real score4F42#1 = Add<real>(score4D8B,_t4F40);
          goto JOIN4F45
        JOIN4F45:  preds = [ASSIGN4F43,COND4DA1]
          real score4F44#2 = phi(score4F42,score4D8B)
          real _t4F46#1 = Dot<2>(r02CC0,v202C5D);
          real _t4F48#1 = Dot<2>(r12CC6,v202C5D);
          real2 _t4F4A#1 = <real2>[_t4F46,_t4F48];
          real2 pos4F4C#1 = Add<real2>(_t4F4A,_t2CD6);
          real2 x4F4E#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos4F4C);
          bool _t4F50#1 = Inside<IMAGE2D<float>,2>(x4F4E,_t2C29);
          if _t4F50 then goto ASSIGN4F54 else goto ASSIGN57ED
        ASSIGN4F54:  preds = [COND4F52]
          real2 x4F53#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v202C5D);
          bool _t4F55#1 = Inside<IMAGE2D<int>,2>(x4F53,_t2C25);
          goto JOIN4F59
        JOIN4F59:  preds = [ASSIGN4F56,ASSIGN57ED]
          bool _t4F57#1 = phi(_t4F55,_t4F58)
          if _t4F57 then goto ASSIGN4F5C else goto JOIN50FE
        ASSIGN4F5C:  preds = [COND4F5A]
          real2 nd4F5B#2 = Floor<2>(x4F4E);
          real2 f4F5D#2 = Sub<real2>(x4F4E,nd4F5B);
          int{2} n4F5F#2 = RealToInt<2>(nd4F5B);
          int t14F61#4 = -1;
          int t24F63#1 = Index<int{2},0>(n4F5F);
          int ix4F65#4 = Add<int>(t14F61,t24F63);
          int t24F67#4 = Index<int{2},1>(n4F5F);
          int iy4F69#1 = Add<int>(t14F61,t24F67);
          int n04F6C#8 = 21;
          int t4F6D#1 = Mul<int>(n04F6C,iy4F69);
          int index4F6E#1 = Add<int>(ix4F65,t4F6D);
          addr(IMAGE2D<float>) imgBaseAddr4F6F#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a4F6B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4F6F,index4F6E);
          real4 v04F75#1 = LoadVoxels<IMAGE2D<float>,4>(a4F6B);
          int iy4F77#1 = Add<int>(_t2CCE,t24F67);
          int t4F7B#1 = Mul<int>(n04F6C,iy4F77);
          int index4F7C#1 = Add<int>(ix4F65,t4F7B);
          addr(IMAGE2D<float>) a4F79#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4F6F,index4F7C);
          real4 v14F83#1 = LoadVoxels<IMAGE2D<float>,4>(a4F79);
          int iy4F85#1 = Add<int>(_t2CD2,t24F67);
          int t4F89#1 = Mul<int>(n04F6C,iy4F85);
          int index4F8A#1 = Add<int>(ix4F65,t4F89);
          addr(IMAGE2D<float>) a4F87#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4F6F,index4F8A);
          real4 v24F91#1 = LoadVoxels<IMAGE2D<float>,4>(a4F87);
          int iy4F93#1 = Add<int>(_t2CAA,t24F67);
          int t4F97#1 = Mul<int>(n04F6C,iy4F93);
          int index4F98#1 = Add<int>(ix4F65,t4F97);
          addr(IMAGE2D<float>) a4F95#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4F6F,index4F98);
          real4 v34F9F#1 = LoadVoxels<IMAGE2D<float>,4>(a4F95);
          real fy4FA1#4 = Index<real2,1>(f4F5D);
          real t34FA3#1 = Add<real>(fy4FA1,_t2CA6);
          real t14FA5#1 = Sub<real>(fy4FA1,_t2CA6);
          real t04FA7#1 = Sub<real>(fy4FA1,_t2CA8);
          real4 a4FA9#3 = <real4>[t34FA3,fy4FA1,t14FA5,t04FA7];
          real _f4FBC#2 = 0.133333333333e1;
          real _f4FBD#2 = 0.666666666667e0;
          real4 a04FAC#4 = <real4>[_f4FBC,_f4FBD,_f4FBD,_f4FBC];
          real _f4FB8#1 = -0.2e1;
          real _f4FB9#2 = 0.0;
          real4 a14FAD#4 = <real4>[_f4FB8,_f4FB9,_f4FB9,_t2CA8];
          real _f4FB5#2 = -0.1e1;
          real4 a24FAE#4 = <real4>[_t2CA6,_f4FB5,_f4FB5,_t2CA6];
          real _f4FB0#1 = -0.166666666667e0;
          real _f4FB1#1 = 0.5e0;
          real _f4FB2#1 = -0.5e0;
          real _f4FB3#1 = 0.166666666667e0;
          real4 a34FAF#4 = <real4>[_f4FB0,_f4FB1,_f4FB2,_f4FB3];
          real4 prod34FC0#1 = Mul<real4>(a4FA9,a34FAF);
          real4 sum24FC1#1 = Add<real4>(a24FAE,prod34FC0);
          real4 prod24FC2#1 = Mul<real4>(a4FA9,sum24FC1);
          real4 sum14FC3#1 = Add<real4>(a14FAD,prod24FC2);
          real4 prod14FC4#1 = Mul<real4>(a4FA9,sum14FC3);
          real4 hy4FAB#1 = Add<real4>(a04FAC,prod14FC4);
          real fx4FDF#4 = Index<real2,0>(f4F5D);
          real t34FE1#1 = Add<real>(fx4FDF,_t2CA6);
          real t14FE3#1 = Sub<real>(fx4FDF,_t2CA6);
          real t04FE5#1 = Sub<real>(fx4FDF,_t2CA8);
          real4 a4FE7#3 = <real4>[t34FE1,fx4FDF,t14FE3,t04FE5];
          real4 prod34FFE#1 = Mul<real4>(a4FE7,a34FAF);
          real4 sum24FFF#1 = Add<real4>(a24FAE,prod34FFE);
          real4 prod25000#1 = Mul<real4>(a4FE7,sum24FFF);
          real4 sum15001#1 = Add<real4>(a14FAD,prod25000);
          real4 prod15002#1 = Mul<real4>(a4FE7,sum15001);
          real4 hx4FE9#4 = Add<real4>(a04FAC,prod15002);
          real t0501D#1 = Dot<4>(v04F75,hx4FE9);
          real t1501F#1 = Dot<4>(v14F83,hx4FE9);
          real t25021#1 = Dot<4>(v24F91,hx4FE9);
          real t35023#1 = Dot<4>(v34F9F,hx4FE9);
          real4 tv5025#1 = <real4>[t0501D,t1501F,t25021,t35023];
          real _t5027#1 = Dot<4>(hy4FAB,tv5025);
          real2 x5029#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v202C5D);
          real2 nd502B#2 = Floor<2>(x5029);
          real2 f502D#2 = Sub<real2>(x5029,nd502B);
          int{2} n502F#2 = RealToInt<2>(nd502B);
          int t25031#1 = Index<int{2},0>(n502F);
          int ix5033#4 = Add<int>(t14F61,t25031);
          int t25035#4 = Index<int{2},1>(n502F);
          int iy5037#1 = Add<int>(t14F61,t25035);
          int t503B#1 = Mul<int>(n04F6C,iy5037);
          int index503C#1 = Add<int>(ix5033,t503B);
          addr(IMAGE2D<int>) imgBaseAddr503D#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a5039#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr503D,index503C);
          real4 v05043#1 = LoadVoxels<IMAGE2D<int>,4>(a5039);
          int iy5045#1 = Add<int>(_t2CCE,t25035);
          int t5049#1 = Mul<int>(n04F6C,iy5045);
          int index504A#1 = Add<int>(ix5033,t5049);
          addr(IMAGE2D<int>) a5047#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr503D,index504A);
          real4 v15051#1 = LoadVoxels<IMAGE2D<int>,4>(a5047);
          int iy5053#1 = Add<int>(_t2CD2,t25035);
          int t5057#1 = Mul<int>(n04F6C,iy5053);
          int index5058#1 = Add<int>(ix5033,t5057);
          addr(IMAGE2D<int>) a5055#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr503D,index5058);
          real4 v2505F#1 = LoadVoxels<IMAGE2D<int>,4>(a5055);
          int iy5061#1 = Add<int>(_t2CAA,t25035);
          int t5065#1 = Mul<int>(n04F6C,iy5061);
          int index5066#1 = Add<int>(ix5033,t5065);
          addr(IMAGE2D<int>) a5063#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr503D,index5066);
          real4 v3506D#1 = LoadVoxels<IMAGE2D<int>,4>(a5063);
          real fy506F#4 = Index<real2,1>(f502D);
          real t35071#1 = Add<real>(fy506F,_t2CA6);
          real t15073#1 = Sub<real>(fy506F,_t2CA6);
          real t05075#1 = Sub<real>(fy506F,_t2CA8);
          real4 a5077#3 = <real4>[t35071,fy506F,t15073,t05075];
          real4 prod3508E#1 = Mul<real4>(a5077,a34FAF);
          real4 sum2508F#1 = Add<real4>(a24FAE,prod3508E);
          real4 prod25090#1 = Mul<real4>(a5077,sum2508F);
          real4 sum15091#1 = Add<real4>(a14FAD,prod25090);
          real4 prod15092#1 = Mul<real4>(a5077,sum15091);
          real4 hy5079#1 = Add<real4>(a04FAC,prod15092);
          real fx50AD#4 = Index<real2,0>(f502D);
          real t350AF#1 = Add<real>(fx50AD,_t2CA6);
          real t150B1#1 = Sub<real>(fx50AD,_t2CA6);
          real t050B3#1 = Sub<real>(fx50AD,_t2CA8);
          real4 a50B5#3 = <real4>[t350AF,fx50AD,t150B1,t050B3];
          real4 prod350CC#1 = Mul<real4>(a50B5,a34FAF);
          real4 sum250CD#1 = Add<real4>(a24FAE,prod350CC);
          real4 prod250CE#1 = Mul<real4>(a50B5,sum250CD);
          real4 sum150CF#1 = Add<real4>(a14FAD,prod250CE);
          real4 prod150D0#1 = Mul<real4>(a50B5,sum150CF);
          real4 hx50B7#4 = Add<real4>(a04FAC,prod150D0);
          real t050EB#1 = Dot<4>(v05043,hx50B7);
          real t150ED#1 = Dot<4>(v15051,hx50B7);
          real t250EF#1 = Dot<4>(v2505F,hx50B7);
          real t350F1#1 = Dot<4>(v3506D,hx50B7);
          real4 tv50F3#1 = <real4>[t050EB,t150ED,t250EF,t350F1];
          real _t50F5#1 = Dot<4>(hy5079,tv50F3);
          real _t50F7#2 = Sub<real>(_t5027,_t50F5);
          real _t50F9#1 = Mul<real>(_t50F7,_t50F7);
          real score50FB#1 = Add<real>(score4F44,_t50F9);
          goto JOIN50FE
        JOIN50FE:  preds = [ASSIGN50FC,COND4F5A]
          real score50FD#2 = phi(score50FB,score4F44)
          real _t50FF#1 = Dot<2>(r02CC0,v212C5F);
          real _t5101#1 = Dot<2>(r12CC6,v212C5F);
          real2 _t5103#1 = <real2>[_t50FF,_t5101];
          real2 pos5105#1 = Add<real2>(_t5103,_t2CD6);
          real2 x5107#3 = PosToImgSpace<IMAGE2D<float>>(_t2C29,pos5105);
          bool _t5109#1 = Inside<IMAGE2D<float>,2>(x5107,_t2C29);
          if _t5109 then goto ASSIGN510D else goto ASSIGN57EC
        ASSIGN510D:  preds = [COND510B]
          real2 x510C#1 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v212C5F);
          bool _t510E#1 = Inside<IMAGE2D<int>,2>(x510C,_t2C25);
          goto JOIN5112
        JOIN5112:  preds = [ASSIGN510F,ASSIGN57EC]
          bool _t5110#1 = phi(_t510E,_t5111)
          if _t5110 then goto ASSIGN5115 else goto JOIN52B7
        ASSIGN5115:  preds = [COND5113]
          real2 nd5114#2 = Floor<2>(x5107);
          real2 f5116#2 = Sub<real2>(x5107,nd5114);
          int{2} n5118#2 = RealToInt<2>(nd5114);
          int t1511A#4 = -1;
          int t2511C#1 = Index<int{2},0>(n5118);
          int ix511E#4 = Add<int>(t1511A,t2511C);
          int t25120#4 = Index<int{2},1>(n5118);
          int iy5122#1 = Add<int>(t1511A,t25120);
          int n05125#8 = 21;
          int t5126#1 = Mul<int>(n05125,iy5122);
          int index5127#1 = Add<int>(ix511E,t5126);
          addr(IMAGE2D<float>) imgBaseAddr5128#4 = ImageAddress<IMAGE2D<float>>(_t2C29);
          addr(IMAGE2D<float>) a5124#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr5128,index5127);
          real4 v0512E#1 = LoadVoxels<IMAGE2D<float>,4>(a5124);
          int iy5130#1 = Add<int>(_t2CCE,t25120);
          int t5134#1 = Mul<int>(n05125,iy5130);
          int index5135#1 = Add<int>(ix511E,t5134);
          addr(IMAGE2D<float>) a5132#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr5128,index5135);
          real4 v1513C#1 = LoadVoxels<IMAGE2D<float>,4>(a5132);
          int iy513E#1 = Add<int>(_t2CD2,t25120);
          int t5142#1 = Mul<int>(n05125,iy513E);
          int index5143#1 = Add<int>(ix511E,t5142);
          addr(IMAGE2D<float>) a5140#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr5128,index5143);
          real4 v2514A#1 = LoadVoxels<IMAGE2D<float>,4>(a5140);
          int iy514C#1 = Add<int>(_t2CAA,t25120);
          int t5150#1 = Mul<int>(n05125,iy514C);
          int index5151#1 = Add<int>(ix511E,t5150);
          addr(IMAGE2D<float>) a514E#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr5128,index5151);
          real4 v35158#1 = LoadVoxels<IMAGE2D<float>,4>(a514E);
          real fy515A#4 = Index<real2,1>(f5116);
          real t3515C#1 = Add<real>(fy515A,_t2CA6);
          real t1515E#1 = Sub<real>(fy515A,_t2CA6);
          real t05160#1 = Sub<real>(fy515A,_t2CA8);
          real4 a5162#3 = <real4>[t3515C,fy515A,t1515E,t05160];
          real _f5175#2 = 0.133333333333e1;
          real _f5176#2 = 0.666666666667e0;
          real4 a05165#4 = <real4>[_f5175,_f5176,_f5176,_f5175];
          real _f5171#1 = -0.2e1;
          real _f5172#2 = 0.0;
          real4 a15166#4 = <real4>[_f5171,_f5172,_f5172,_t2CA8];
          real _f516E#2 = -0.1e1;
          real4 a25167#4 = <real4>[_t2CA6,_f516E,_f516E,_t2CA6];
          real _f5169#1 = -0.166666666667e0;
          real _f516A#1 = 0.5e0;
          real _f516B#1 = -0.5e0;
          real _f516C#1 = 0.166666666667e0;
          real4 a35168#4 = <real4>[_f5169,_f516A,_f516B,_f516C];
          real4 prod35179#1 = Mul<real4>(a5162,a35168);
          real4 sum2517A#1 = Add<real4>(a25167,prod35179);
          real4 prod2517B#1 = Mul<real4>(a5162,sum2517A);
          real4 sum1517C#1 = Add<real4>(a15166,prod2517B);
          real4 prod1517D#1 = Mul<real4>(a5162,sum1517C);
          real4 hy5164#1 = Add<real4>(a05165,prod1517D);
          real fx5198#4 = Index<real2,0>(f5116);
          real t3519A#1 = Add<real>(fx5198,_t2CA6);
          real t1519C#1 = Sub<real>(fx5198,_t2CA6);
          real t0519E#1 = Sub<real>(fx5198,_t2CA8);
          real4 a51A0#3 = <real4>[t3519A,fx5198,t1519C,t0519E];
          real4 prod351B7#1 = Mul<real4>(a51A0,a35168);
          real4 sum251B8#1 = Add<real4>(a25167,prod351B7);
          real4 prod251B9#1 = Mul<real4>(a51A0,sum251B8);
          real4 sum151BA#1 = Add<real4>(a15166,prod251B9);
          real4 prod151BB#1 = Mul<real4>(a51A0,sum151BA);
          real4 hx51A2#4 = Add<real4>(a05165,prod151BB);
          real t051D6#1 = Dot<4>(v0512E,hx51A2);
          real t151D8#1 = Dot<4>(v1513C,hx51A2);
          real t251DA#1 = Dot<4>(v2514A,hx51A2);
          real t351DC#1 = Dot<4>(v35158,hx51A2);
          real4 tv51DE#1 = <real4>[t051D6,t151D8,t251DA,t351DC];
          real _t51E0#1 = Dot<4>(hy5164,tv51DE);
          real2 x51E2#2 = PosToImgSpace<IMAGE2D<int>>(_t2C25,v212C5F);
          real2 nd51E4#2 = Floor<2>(x51E2);
          real2 f51E6#2 = Sub<real2>(x51E2,nd51E4);
          int{2} n51E8#2 = RealToInt<2>(nd51E4);
          int t251EA#1 = Index<int{2},0>(n51E8);
          int ix51EC#4 = Add<int>(t1511A,t251EA);
          int t251EE#4 = Index<int{2},1>(n51E8);
          int iy51F0#1 = Add<int>(t1511A,t251EE);
          int t51F4#1 = Mul<int>(n05125,iy51F0);
          int index51F5#1 = Add<int>(ix51EC,t51F4);
          addr(IMAGE2D<int>) imgBaseAddr51F6#4 = ImageAddress<IMAGE2D<int>>(_t2C25);
          addr(IMAGE2D<int>) a51F2#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr51F6,index51F5);
          real4 v051FC#1 = LoadVoxels<IMAGE2D<int>,4>(a51F2);
          int iy51FE#1 = Add<int>(_t2CCE,t251EE);
          int t5202#1 = Mul<int>(n05125,iy51FE);
          int index5203#1 = Add<int>(ix51EC,t5202);
          addr(IMAGE2D<int>) a5200#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr51F6,index5203);
          real4 v1520A#1 = LoadVoxels<IMAGE2D<int>,4>(a5200);
          int iy520C#1 = Add<int>(_t2CD2,t251EE);
          int t5210#1 = Mul<int>(n05125,iy520C);
          int index5211#1 = Add<int>(ix51EC,t5210);
          addr(IMAGE2D<int>) a520E#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr51F6,index5211);
          real4 v25218#1 = LoadVoxels<IMAGE2D<int>,4>(a520E);
          int iy521A#1 = Add<int>(_t2CAA,t251EE);
          int t521E#1 = Mul<int>(n05125,iy521A);
          int index521F#1 = Add<int>(ix51EC,t521E);
          addr(IMAGE2D<int>) a521C#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr51F6,index521F);
          real4 v35226#1 = LoadVoxels<IMAGE2D<int>,4>(a521C);
          real fy5228#4 = Index<real2,1>(f51E6);
          real t3522A#1 = Add<real>(fy5228,_t2CA6);
          real t1522C#1 = Sub<real>(fy5228,_t2CA6);
          real t0522E#1 = Sub<real>(fy5228,_t2CA8);
          real4 a5230#3 = <real4>[t3522A,fy5228,t1522C,t0522E];
          real4 prod35247#1 = Mul<real4>(a5230,a35168);
          real4 sum25248#1 = Add<real4>(a25167,prod35247);
          real4 prod25249#1 = Mul<real4>(a5230,sum25248);
          real4 sum1524A#1 = Add<real4>(a15166,prod25249);
          real4 prod1524B#1 = Mul<real4>(a5230,sum1524A);
          real4 hy5232#1 = Add<real4>(a05165,prod1524B);
          real fx5266#4 = Index<real2,0>(f51E6);
          real t35268#1 = Add<real>(fx5266,_t2CA6);
          real t1526A#1 = Sub<real>(fx5266,_t2CA6);
          real t0526C#1 = Sub<real>(fx5266,_t2CA8);
          real4 a526E#3 = <real4>[t35268,fx5266,t1526A,t0526C];
          real4 prod35285#1 = Mul<real4>(a526E,a35168);
          real4 sum25286#1 = Add<real4>(a25167,prod35285);
          real4 prod25287#1 = Mul<real4>(a526E,sum25286);
          real4 sum15288#1 = Add<real4>(a15166,prod25287);
          real4 prod15289#1 = Mul<real4>(a526E,sum15288);
          real4 hx5270#4 = Add<real4>(a05165,prod15289);
          real t052A4#1 = Dot<4>(v051FC,hx5270);
          real t152A6#1 = Dot<4>(v1520A,hx5270);
          real t252A8#1 = Dot<4>(v25218,hx5270);
          real t352AA#1 = Dot<4>(v35226,hx5270);
          real4 tv52AC#1 = <real4>[t052A4,t152A6,t252A8,t352AA];
          real _t52AE#1 = Dot<4>(hy5232,tv52AC);
          real _t52B0#2 = Sub<real>(_t51E0,_t52AE);
          real _t52B2